質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

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

PHP

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

データベース

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

Q&A

解決済

4回答

3061閲覧

データベースのidごとに、ページを出力する方法を教えてください。

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

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

PHP

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

データベース

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

0グッド

0クリップ

投稿2016/11/29 06:13

編集2016/11/29 07:47

###前提・実現したいこと
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のみで、各ジャンル別に問題を表示したいと思っております。

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/11/29 07:03

「事情」については具体的に書かれたほうが良いと思います。また、「思ったような実行結果が出てくれず」とは「何をしたときに」「どうなると思って」「どうなったのか」を、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。
guest

回答4

0

こちらと違うのでしょうか?

上手く動作しません

とはどういう状態なのでしょうか?

投稿2016/11/29 06:42

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

全く同じ質問を重複させるのはよくないですよ。
しかも何を聞きたいのか要領を得ないし。

また内容を見る限り学校の宿題のようですね。
宿題は自力でやらないと意味が無いですよ。

投稿2016/11/29 10:28

zico_teratail

総合スコア907

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

皆さま厳しいご指摘ありがとうございましたなんとか解決することができました

投稿2016/11/30 00:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

DBの情報を一度全て取得して必要な情報のみ表示させる方法と、ワイルで回してスコープ内で繰り返して取得する方法と二つ有ります。

ワイルのスコープ内でSQL文を書くと認識されると思います。

条件式はご自分の状況に合わせてお考え下さい。

投稿2016/11/29 11:23

KatsukiSugiura

総合スコア335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KatsukiSugiura

2016/11/29 11:30

後、結合演算子の位置全てあってない場合もあります。 シングル、ダブルクォーテーション、ピリオドなど。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問