- ベストアンサー
PHP+MySQLの繰り返し処理で…
PHPとMYSQLを使ってWEBページを作っています。 わからないところがあるので、どなたか教えていただけないでしょうか?php5+mysql4.0.1です。 検索フォームから送られてきた条件をもとに、1ページに10件の検索結果を表示しています。表示するのはテーブル1の名前で、ここまではうまくいっています。 例:------------------------------------------ 検索結果 神奈川県 林さん 東京都 遠藤さん 北海道 近藤さん 例:------------------------------------------ このあと、上記クエリの結果が続く限りテーブル2 から名前に該当する趣味を表示したいと思います。 例:------------------------------------------ 検索結果 神奈川県 林さん テニス 東京都 遠藤さん サッカー 北海道 近藤さん 絵画 例:------------------------------------------ この処理を加えると、一ページに10件表示されていたものが最初の一件だけしか表示されなくなってしまいます。whileの中に新たにクエリを書いているからでしょうか…? 以下に問題部分だけ見やすくまとめなおしたソースを書きました。 (1)$sql = "SELECT name,ken FROM tablename where ken=$ken"; $mysql->query($sql); while($row = $mysql->fetch()){ $name = $row[name]; (2)$sql2 = "SELECT syumi FROM tablename2 WHERE name='$name'"; $mysql->query($sql2); while($row2 = $mysql->fetch()){ $syumi = $row2[syumi]; } echo "$ken"."$name"."$syumi"; } わかりづらい説明ですみません。 テーブル1に趣味のフィールドを作ることはできない前提で、このままのDB構造でうまく上記を解決することはできますか? ご指導よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
お礼
ご回答ありがとうございました! 教えていただいた方法で無事にできました、本当にありがとうございます。 (1)(2)というのはこことここでクエリ発行してますという私の無駄な配慮でした。 検索フォームからは県だけを送って、それをもとに検索しています。 教えていただいたJOINの方法は、私の参考書のページに付箋が貼ってありました。以前にも使っていたようです…。 お忙しいところどうもありがとうございました。