質問編集履歴

1 文章の修正

退会済みユーザー

退会済みユーザー

2016/11/29 16:47  投稿

データベースのidごとに、ページを出力する方法を教えてください。
###前提・実現したいこと
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で教えていただければと思います。
本当ならMySQLiなどを使うべきなのですが、MySQLを使用して作成せよとのことだったので、現在MySQLでの作業を行っております。申し訳ないのですが、非推奨ではありますが、MySQLで教えていただければと思います。
また、上記で記した通り、複数のPHPファイルは使用せず、一つのPHPのみで、各ジャンル別に問題を表示したいと思っております。
何卒よろしくお願いいたします。
  • PHP

    24621 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    7159 questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • データベース

    860 questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る