2017-04-15 72 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與我的條件聲明我只能排序所有的項目。我無法同時過濾和排序。 –