2017-04-15 45 views
-1

我该如何排序我用MYSQL过滤的类别? 例如,我想获得最便宜的帽子。我需要做什么?我怎样才能排序我用MYSQL过滤的类别?

if(isset($_GET['category'])){ 
     $category = $_GET['category']; 
     $sql = "SELECT * FROM store WHERE category='$category'";}else{ 
     $sql = "SELECT id,title,image FROM store"; 
    } 
    if(isset($_GET['category'],$_GET['value'])){ 
     $currentPage = $_GET['category']; 
     $value = $_GET['value']; 
     $sql = "SELECT * FROM store WHERE category='$category'ORDER BY $value"; 
    } 
    if(isset($_GET['value'])) { 
     if($_GET['value'] == 'price') { 
      // query to get all by price 
      $sql = "SELECT * FROM store ORDER BY price"; 
     } 
     elseif($_GET['value'] == 'title') { 
      // query to get all by title 
      $sql = "SELECT * FROM store ORDER BY title"; 
     } elseif($_GET['value']== 'date') { 
      // query to get all by date added 
      $sql = "SELECT * FROM store ORDER BY date_added"; 
     } 

`

<div id="filters"> 
 
\t \t <a href="stores.php">All</a> \t 
 
     <a href="stores.php?category=t-shirt">T-Shirt</a> 
 
     <a href="stores.php?category=mug">Mug</a> 
 
     <a href="stores.php?category=hat">Hat</a> 
 
\t </div> 
 
\t <label for="sort">Sort By</label> 
 
\t <select name="sort"> 
 
\t <option value="price">Price: Low to High</option> 
 
\t <option value="title">Title: A-Z</option> 
 
\t <option value="date">Newest</option> 
 
\t </select>

回答

0

/*****
我的眼睛,我不看你怎么可以用你指定的HTML得到你想要的东西。所以我所做的是将类别和排序作为表单输入。通过这种方式,我们可以轻松操作类别和排序。

这里的表单方法是GET。 POST意味着如果(isset($ _ POST))。

希望这会有所帮助。
******/
//定义类别
如果(isset($ _ GET [ '类别'])){

$类别= $ _GET [ '类别'];

}

//定义结果
的顺序,如果(isset($ _ GET [ '排序'])){

$排序= $ _GET [ '排序'];

}

//当表单提交
如果(isset($ _ GET [ '提交'])){

//选择基于类的输入和无序结果基于输入排序
$ sql =“SELECT * FROM store WHERE category ='$ category'ORDER BY $ sort”;

}

< forrm行动=“存储。PHP的”方法= “GET” >

<标签= “类别” >类别< /标签>
<选择name = “类别” >
<选项值= “T恤” > T恤< /选项>
<选项值= “杯” >杯< /选项>
<选项值= “帽子” >帽< /选项>
< /选择>

<label for="sort">Sort By</label> 
<select name="sort"> 
<option value="price">Price: Low to High</option> 
<option value="title">Title: A-Z</option> 
<option value="date">Newest</option> 
</select> 

< INPUT TYPE = '提交' 名称= '提交'/ >

< /形式>

+0

没有我想创建一个条件语句,我可以在同一时间对其进行过滤和排序,例如SELECT * FROM store ORDER BY price WHERE c ategory = $ category与我的条件声明我只能排序所有的项目。我无法同时过滤和排序。 –