<?php header("Content-type: text/html; charset=utf-8"); define("DBSERVER","localhost"); define("DBUSER","root"); define("DBPASSWORD","root"); define("DBNAME","sampledb"); //クリックされたボタンに応じて並べ替え基準を設定 if (isset($_POST["btnsort1"])) { //順位の昇順ボタン $orderby = "rank"; } elseif (isset($_POST["btnsort2"])) { //順位の降順ボタン $orderby = "rank DESC"; } elseif (isset($_POST["btnsort3"])) { //チームの昇順ボタン $orderby = "team"; } elseif (isset($_POST["btnsort4"])) { //チームの降順ボタン $orderby = "team DESC"; } elseif (isset($_POST["btnsort5"])) { //地域の昇順ボタン $orderby = "area"; } elseif (isset($_POST["btnsort6"])) { //地域の降順ボタン $orderby = "area DESC"; } elseif (isset($_POST["btnsort7"])) { //ポイントの昇順ボタン $orderby = "point"; } elseif (isset($_POST["btnsort8"])) { //ポイントの降順ボタン $orderby = "point DESC"; } else { //はじめて呼び出されたときの初期状態 $orderby = "rank"; } //DB接続 if(!$con = @mysql_connect(DBSERVER, DBUSER, DBPASSWORD)){ die("MySQLに接続できませんでした!<br>"); exit(); } //DB選択 if(!$selectdb = @mysql_select_db(DBNAME)){ die(DBNAME . "が見つかりませんでした!<br>"); exit(); } //文字コードセット if(!$result =@mysql_query("SET NAMES utf8;")){ echo "SQLエラー!<br>"; } //テーブルヘッダ部の並べ替え用リンクのHTMLを組み立て $body = "<form action=" . $_SERVER["PHP_SELF"]. " method=\"POST\">"; $body .= "<table border=\"1\">"; $body .= "<tr>"; $body .= "<th>"; $body .= "順位<br>"; $body .= "<input type='submit' name='btnsort1' value='↑'>"; $body .= "<input type='submit' name='btnsort2' value='↓'>"; $body .= "</th>"; $body .= "<th>"; $body .= "チーム<br>"; $body .= "<input type='submit' name='btnsort3' value='↑'>"; $body .= "<input type='submit' name='btnsort4' value='↓'>"; $body .= "</th>"; $body .= "<th>"; $body .= "地域<br>"; $body .= "<input type='submit' name='btnsort5' value='↑'>"; $body .= "<input type='submit' name='btnsort6' value='↓'>"; $body .= "</th>"; $body .= "<th>"; $body .= "ポイント<br>"; $body .= "<input type='submit' name='btnsort7' value='↑'>"; $body .= "<input type='submit' name='btnsort8' value='↓'>"; $body .= "</th>"; $body .= "</tr>"; //fifarankingテーブルのすべてのレコードを読み込むSQLを組み立て //$orderby変数の内容をORDER BY句に指定 $sql = "SELECT * FROM fifaranking ORDER BY $orderby"; //結果セットを取得 $result= mysql_query($sql); //結果セットからデータをループで読み込み while ($col = mysql_fetch_array($result)) { $body .= "<tr>"; $body .= "<td align='center'>" . $col["rank"] . "</td>"; $body .= "<td>" . $col["team"] . "</td>"; $body .= "<td>" . $col["area"] . "</td>"; $body .= "<td align='right'>" . $col["point"] . "</td>"; $body .= "</tr>"; } $body .= "</table>"; $body .= "</form>"; //結果セットを破棄 mysql_free_result($result); //MySQLとの接続を解除 mysql_close(); ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?=$body?> </body> </html>