Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
过滤产品价格并对Asc Desc PHP MYSQLI进行排序_Php_Mysql_Sql_Mysqli_Filtering - Fatal编程技术网

过滤产品价格并对Asc Desc PHP MYSQLI进行排序

过滤产品价格并对Asc Desc PHP MYSQLI进行排序,php,mysql,sql,mysqli,filtering,Php,Mysql,Sql,Mysqli,Filtering,我希望你一直关心我! 有人问我: 如果我按价格从最小值到最大值过滤产品,是否可以查看 在步骤过滤器(编号1)之后,然后是过滤器ASC,说明为什么我的视图页面是“为foreach()提供的参数无效”,为什么会这样 您不能将价格放在订单之后的位置: include("config.php"); $all_brand=$db->query("SELECT distinct brand FROM `products` WHERE category_id = '1' GROUP BY brand"

我希望你一直关心我! 有人问我:

  • 如果我按价格从最小值到最大值过滤产品,是否可以查看

  • 在步骤过滤器(编号1)之后,然后是过滤器ASC,说明为什么我的视图页面是“为foreach()提供的参数无效”,为什么会这样


  • 您不能将价格
    放在
    订单之后的
    位置

    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'])."')";
    
    // filter by input price
    if(isset($_GET['min']) && $_GET['min']!="")
        $sql.="AND price >= '".$_GET['min']."' ";
    
    if(isset($_GET['max']) && $_GET['max']!="")
        $sql.="AND price <= '".$_GET['max']."' ";
    
    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;
    
    
    $all_product=$db->query($sql);
    
    include(“config.php”);
    $all_brand=$db->query(“从'products'中选择不同的品牌,其中category_id='1'按品牌分组”);
    //过滤查询
    $sql=“从'products'中选择distinct*,其中category_id='1';
    如果(isset($\u GET['brand'])和(&$\u GET['brand'])!=“”)
    $sql.=“AND brand IN(”)。内爆(“,”,$获取['brand'])。“)”;
    //按输入价格过滤
    如果(设置($\u GET['min'])和(&$\u GET['min'])!=“”)
    $sql.=“和价格>=”。$\u获取['min']。“”;
    如果(设置($\u GET['max'])和(&$\u GET['max'])!=“”)
    
    $sql.=“和价格您在订单后放置AND,这将导致您的错误。order by需要是最后一个,并按秒倒数分组。AND和AND在哪里。Oke bro..您有最好的解决方案。在此之前感谢Yea bro…这是一个伟大的解决方案,在此之前感谢..但我认为更多的问题。问题是:如果购物车订单(第一个)是oke,但如果在第2页或第3页或第4页之后进行操作分页并添加顺序,则顺序没有响应。为什么?
        *******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> 
    
    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'])."')";
    
    // filter by input price
    if(isset($_GET['min']) && $_GET['min']!="")
        $sql.="AND price >= '".$_GET['min']."' ";
    
    if(isset($_GET['max']) && $_GET['max']!="")
        $sql.="AND price <= '".$_GET['max']."' ";
    
    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;
    
    
    $all_product=$db->query($sql);