2016-04-29 66 views
-1

我有SQL數據庫包含書籍的詳細信息,我有下拉菜單選擇書籍類別以列出此類別中的所有書籍。然後,我必須指向由價格書籍排序我嘗試這一點,但不能工作php排序sql數據

<a href="view.php?sort=priceASD">order by price Low to high</a> 
if($_GET['sort'] =='priceASD') 
{ 
    $x=$db->query("SELECT * FROM books WHERE category='Children' AND ORDER BY price ASC"); 
    foreach($x as $row) 
     echo "<tr><td><a href='displayinfo.php?booksid=".$row['id']."'>".$row['title']."</a></td><td><a href='displayinfo.php?booksid=".$row['id']."'><img src=".$row['picture']." height='100' width='100'></a></td><td>$".$row['price']."</td></tr>"; 
} 

,這按類別來顯示書籍:

if($value == 'Children') 
{ 
    $r=$db->query("SELECT * FROM books WHERE category='Children'"); 
    echo "<table>"; 
    foreach($r as $row) 
     echo "<tr><td><a href='displayinfo.php?booksid=".$row['id']."'>".$row['title']."</a></td><td><a href='displayinfo.php?booksid=".$row['id']."'><img src=".$row['picture']." height='100' width='100'></a></td><td>$".$row['price']."</td></tr>"; 

    echo "</table>"; 
} 
+1

什麼不工作? – Rick

回答

0

SQL中使用的'AND'或'OR'關鍵字可用於多個條件。 'AND'不適用於'ORDER BY'關鍵字。默認情況下,'ORDER BY'按升序對數據進行排序。所以,不需要使用ASC。

SELECT * FROM books WHERE category='Children' ORDER BY price 

希望這段代碼能爲你工作。

2

刪除AND和嘗試這個

SELECT * FROM books WHERE category='Children' ORDER BY price ASC