2016-04-29 12 views
-1

ich habe sql datenbank enthalten bücher detail und ich habe drop-down-menü zu buch kategorie wählen, um alle bücher in dieser kategorie aufzulisten. dann haben Link i durch den Preis der Bücher zu sortieren i versuchen, diese aber nicht funktioniertphp sortierung sql daten

<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>"; 
} 

und diese die Bücher nach Kategorie anzuzeigen:

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

Was genau funktioniert nicht? – Rick

Antwort

0

In SQL verwendete Schlüsselwörter 'AND' oder 'OR' für die Verwendung mehrerer Bedingungen. 'AND' funktioniert nicht mit dem Schlüsselwort 'ORDER BY'. Standardmäßig sortiert 'ORDER BY' Daten in aufsteigender Reihenfolge. Also, keine Notwendigkeit, ASC zu verwenden.

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

Hoffe, dieser Code wird für Sie arbeiten.

2

AND entfernen und versuchen, diese

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