取り出したデータを並び替える方法を書いていきます。
ORDER BY 列名
で並び替える基準を設定します。たとえば、次のSQL文では、
priceの値が小さい順(昇順)に並び替えることができます。
SELECT *
FROM product
ORDER BY price
大きい順に並べたい場合は、最後にDESC(降順)をつけます。
SELECT *
FROM product
ORDER BY price DESC
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>SQL データを抽出して、並び替える</title> <link rel="stylesheet" href="../style.css"> </head> <body> <?php $dbName ="sqlite:test.db"; $uName = ""; $pw = ""; $db = new PDO($dbName,$uName,$pw); //全てのデータを抽出し、降順に並び替える $que = "SELECT * FROM product ORDER BY price DESC"; $data = $db->query($que); ?> <table border="2"> <tr bgcolor="#b0b0b0"> <th>番号</th> <th>商品</th> <th>単価</th> </tr> <?php while( $value = $data->fetch() ){ $id = $value["id"]; $name = $value["name"]; $price = $value["price"]; echo "<tr>" . "<td>{$id}</td>" . "<td>{$name}</td>" . "<td>{$price}</td>" . "</tr>"; } $db = null; ?> </table> </body> </html> |