###前提・実現したいこと
PHPとデータベースを利用した問題アプリを作成しております。
データベースにあるidでクイズのジャンルを振り分けているのですが、そのジャンルごとにPHPで出力したいと思っております。
エラーは起きていないのですが、GROUP BYを使用して問題を表示しようとしたら、ジャンル問わず全ての問題が出てきてしまったり、問題タイトルの部分が、一番最初に作った問題のタイトルしか出てきてくれず、頭を抱えております・・・
###現時点でのソースコード
$sql = "SELECT * FROM question WHERE question_id = question_id GROUP BY no";//この部分をどうすればよいでしょうか。 $result = mysql_query($sql,$link)or die('query error'.mysql_error()); $question_count = 1; echo '<form action ="send.php" method="post">'; while($col = mysql_fetch_assoc($result)){ if($question_count == 1){ echo '<h1 align="center">'.$col['question_name'].'</h1>'; } echo '<div align="center" class="question">'; echo '<p>Q'.$question_count.'.'.$col['question'].'</p>'; for($j=1; $j<=10; $j++){ if($col['format'.$radio]){ if($col['answer'.$j]){ if($col['required'.$k]){ echo"<input required type='radio' name='question{$question_count}' id='question{$question_count}'value='".$col['answer'.$j]."'>".$col['answer'.$j].'<br>'; }else{ echo"<input type='radio' name='question{$question_count}' id='question{$question_count}' value='".$col['answer'.$j]."'>".$col['answer'.$j].'<br>'; } } } } $question_count++; }
###試したこと
$sql = "SELECT * FROM question WHERE question_id = question_id GROUP BY no";
この部分を、
$sql = "SELECT * FROM question WHERE question_id = 1;
というように、ジャンル別のidを直接入力してみようとも考えたのですが、それだとジャンルごとに複数PHPファイルを作成しなければならないので、この方法はやめました。
###補足情報
本当ならMySQLiなどを使うべきなのですが、MySQLを使用して作成せよとのことだったので、現在MySQLでの作業を行っております。申し訳ないのですが、非推奨ではありますが、MySQLで教えていただければと思います。
また、上記で記した通り、複数のPHPファイルは使用せず、一つのPHPのみで、各ジャンル別に問題を表示したいと思っております。
何卒よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー