ユーザーがデータを利用できるように、
データの並び替えを行います。データを昇順・降順を
ユーザーが指定できるようにします。
サンプルコードの実行結果はこちら
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
<!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); //昇順に並び替えるSQL文 $que = "SELECT * FROM product ORDER BY price"; //降順が指定されているか判定 if( isset($_POST["sort"]) && $_POST["sort"] == "desc"){ //降順に並び替えるSQL文に変更 $que = $que . " DESC"; } $stmt = $db->prepare($que); $stmt->execute(); ?> <table border="2"> <tr bgcolor="#b0b0b0"> <th>番号</th> <th>商品</th> <th>単価</th> </tr> <?php while( $value = $stmt->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> <form action="" method="post"> <!-- 昇順を指定するラジオボタン --> <input type="radio" name="sort" value="asc" <?php //降順に指定されていない時はチェックする if( !isset($_POST["sort"]) || $_POST["sort"] != "desc"){ echo "checked"; } ?> >昇順 <!-- 降順を指定するラジオボタン --> <input type="radio" name="sort" value="desc" <?php //降順に指定されている時はチェックする if( isset($_POST["sort"]) && $_POST["sort"] == "desc"){ echo "checked"; } ?> >降順 <input type="submit" value="並び替え"> </form> </body> </html> |