• 締切済み

データベースとphp

データベースを使ったアプリケーションを作ろうと思っています。 既に投票をしてあるデータの投票結果を表示するプログラムです。 投票結果の表示ができません。多い順や少ない順のsqlはできていて、あとはphpに反映させて表示するだけなのですが、うまくいきません。 以下、コードです。 query.phpはメインのページです。 プルダウンメニューで「多い順」を選択すると、多い順の投票結果が表示されるようにしたいのですが、選択しても全く動きません。 action="query.php"の部分がいけないのでしょうか? action="max.php"にすると、「多い順」を選択しても、「少ない順」を選択しても、どちらも多い順の結果が出てしまいます。(max.phpは多い順に表示するためのファイル名です。query.phpの後ろにソースコードを張りました。) /*query.phpのソースコード*/ <html> <head><title>Listing All Data</title> <link rel="stylesheet" href="../default.css" type="text/css" /> </head> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> <body> <div id="main"> <h1>ご当地グルメ<br/>アプリケーション</h1> <div id="description"> 最近流行りのご当地グルメのランキングを見てみましょう!! </div> <form action="query.php" method="post"> <select name="kekka"> <option value=""selected>---投票結果---</option> <option value="http://localhost/~・・・ここにはディレクトリ名・・・/query/max.php">多い順</option> <option value="http://localhost/~ここにはディレクトリ名・・・/query/min.php">少ない順</option> </select> <input type="submit" value="選択"> </form> </div> </body> </html> /*max.phpのソースコード*/ <?php ini_set('display_errors', 'Off'); date_default_timezone_set('Asia/Tokyo'); ?> <html> <head><title>Listing All Data</title> <link rel="stylesheet" href="../default.css" type="text/css" /> </head> <body> <div id="main"> <h1>ご当地グルメ<br/>アプリケーション</h1> <div id="description"> 投票結果(多い順)です。<br> </div> <?php if(! $db = new PDO("sqlite:sqlite2.db")){ die("DB Connection Failed."); } $sql = "SELECT t.itemname,count(*) FROM teams t,vote v WHERE t.teamid=v.teamid GROUP BY v.teamid ORDER BY count(*) DESC"; $stmt = $db->prepare($sql); $stmt -> execute(); print "投票結果(多い順)"; print "<table border=1>\n"; while($cols = $stmt->fetch(PDO::FETCH_NUM)){ print "<tr><td width='100'>$cols[0]</a></td><td>"; for($i=0;$i<$cols[1];$i++){ print "<font color='FF0000'>*</color>"; } print "<font size='-2'>($cols[1]票)</font></td></tr>"; } print "</table>"; ?> <br> <br> <a href="javascript:location.href = 'query.php';">トップページへ</a> </div> </body> </html>

みんなの回答

回答No.1

postする相手が自分自身というのは変でしょう。 postする相手が固定されてしまっているのでは? <form action="min.php" method="post"> にしたら小さい順の結果がでますか? 自分なら <form action="results.php" method="post"> みたいな感じに同一ファイルにまとめます。