0
我希望你一直在乎! 我是问:过滤产品价格和并排序升序降序PHP MYSQLI
如果我滤清器产品通过形式价格最小到最大,可以查看一步过滤后已经确定
(1号)和比过滤ASC,DESC条件为什么我的看法页面是“为foreach()提供的无效参数”,为什么这样呢?
。
<?php
include("config.php");
$all_brand=$db->query("SELECT distinct brand FROM `products` WHERE category_id = '1' GROUP BY brand");
// Filter query
$sql= "SELECT distinct * FROM `products` WHERE category_id = '1'";
if(isset($_GET['brand']) && $_GET['brand']!="") :
$sql.=" AND brand IN ('".implode("','",$_GET['brand'])."')";
endif;
if(isset($_GET['sort_price']) && $_GET['sort_price']!="") :
if($_GET['sort_price']=='price-asc-rank') :
$sql.=" ORDER BY price ASC";
elseif($_GET['sort_price']=='price-desc-rank') :
$sql.=" ORDER BY price DESC";
endif;
endif;
// filter by input price
if(isset($_GET['min']) && $_GET['min']!="") :
$sql.="AND price >= '".$_GET['min']."' ";
endif;
if(isset($_GET['max']) && $_GET['max']!="") :
$sql.="AND price <= '".$_GET['max']."' ";
endif;
$all_product=$db->query($sql);
?>
和我的形式:
*******filter ASC and DESC **********
<div class="panel list">
<div class="col-sm-2">
<select name="sort_price" class="sort_rang" id="sort">
<option value="">Paling baru</option>
<option <?=(isset($_GET['sort_price'])&&($_GET['sort_price']=='price-asc-rank')? 'selected="selected"' : '')?> value="price-asc-rank">Harga:Rendah ke tinggi </option>
<option <?=(isset($_GET['sort_price'])&&($_GET['sort_price']=='price-desc-rank') ? 'selected="selected"' : '')?> value="price-desc-rank">Harga:Tinggi ke rendah</option>
</select>
</div>
</div>
<!-- filter price -->
<div class="sidebar-row">
<h4>RENTANG HARGA</h4>
<input type="text" name="min" id="min" placeholder=" Mulai dari harga" onkeypress="return AllowOnlyNumbers(event);" value="<?php echo isset($_GET['min']) ? $_GET['min'] : ''; ?>"> <br>
<br>
<input type="text" name="max" id="max" placeholder=" Sampai dgn harga" onkeypress="return AllowOnlyNumbers(event);" value="<?php echo isset($_GET['max']) ? $_GET['max'] : ''; ?>"> <br>
<br>
<input type="submit" class="sort_rang" value="Tampilkan">
</div>
你正在把一个和后面的顺序,将导致你的错误。顺序需要是最后的,并且是倒数第二。和之前来了。 – Doug
奥克兄弟..你有顶级的解决方案。在此之前谢谢 –