• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPとmysqlに関して)

PHPとMySQLでデータの合致が一部しか表示されない理由について

このQ&Aのポイント
  • PHPとMySQLを使用して、テーブルAのnameとテーブルBのnameが合致した場合に出勤中と表示させたいが、一部のデータしか表示されない現象が発生している。
  • 問題の解決には、データベースのクエリと条件の確認が必要である。
  • 可能性としては、ループ内でデータベースからの結果セットを複数回取得しているため、合致するデータが最初のループで表示された後、2回目のループ以降では取得されない可能性がある。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

テーブルAとテーブルBの関係がわからないのでアレですが、外側のwhileのnameより内側のwhileのnameが先行したらどうなるのとかは考えてないのでしょうか(Bテーブルの方のnameが先行した場合)。 内側のwhileの前でテーブルBの前回値をチェックしてテーブルBを読むかどうか決めるべき。そうでなければ毎回(テーブルBに対しては)SQL文を発行して読み直す方がいいです。 というか普通は『SQL文を工夫して』書くケースだと思います。ひとつのSQL文で(テーブルAとテーブルBを結合させて)必要な情報が取得できるようにすべきです。