• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:出力結果がないときの処理方法)

データベース検索結果がない場合の表示方法について

このQ&Aのポイント
  • データベース検索結果がない場合に表示する方法について教えてください。
  • データベースとPHPを使用してWEBページを作成していますが、検索結果がない場合に表示する方法について困っています。
  • 現在、データベースとPHPを利用してWEBページを制作していますが、検索結果がない場合にどのように表示すればよいか分かりません。教えていただけますか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

なるほどね。 であれば出力はforeach内で行い、breakしなければいいでしょう。 (breakをしているのはヒットしたらそのあとを検証する必要がないと 考えたからなので) <?php $data = array("aaa","bbb","ccc","aaa","bbb","ccc"); $val="aaa"; $flg=false; foreach($data as $v){ if($val==$v){ echo <<<EOM <p>$val</p> EOM; $flg=true; } } if(!$flg){ echo "<p>該当データがありません</p>"; } ?>

abc333xyz
質問者

お礼

yambejp様、完璧に出来ました^^ うれしくて小躍りしております^^ yambejp様の肩でもあればオモミしたいところです。 yambejp様のおかげで次のステップに進めます。 本当に、本当にありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

foreachで回すならフラグをたてる <?php $data = array("aaa","bbb","ccc","ddd"); $val="ddd"; $flg=false; foreach($data as $v){ if($val==$v){ $flg=true; break; } } if($flg){ echo <<<EOM <p>$val</p> EOM; }else{ echo "<p>該当データがありません</p>"; } ?>

abc333xyz
質問者

補足

yambejp様、ご回答ありがとうございます。 この通りにすれば確かにできます。 しかし、本当に本当に申し訳ないのですが、私の説明不足でした。 $dataに格納されているものの重複をお伝えできていませんでした。 <!-- $data = array("aaa","bbb","ccc","aaa","bbb","ccc"); foreach ( $data as $val ): if( $val == aaa ): --!> 以下省略いたします。 上記のもので試してみると、はじめの質問でお伝えしたPHPなら2つ「aaa」が出力されるのですが、今回のyambejp様のご回答にこれをあてはめると、「aaa」が1つになってしまいます。 「aaa」は2つ出力されて、「該当データがありません」は1つの出力にするにはどうすればよいのでしょうか? PS. お聞きすることがとても心苦しく、5時間ぐらい格闘したのですが答えが見つからず、途方に暮れてyambejp様に再度質問してしまう形になったことを申し訳なく思っております。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

この場合ループ必要ですか? <?php $data = array("aaa","bbb","ccc"); $val="ddd"; if(in_array($val,$data)){ echo <<<EOM "<p>$val</p>"; EOM; }else{ echo "<p>該当データがありません</p>"; } ?>

abc333xyz
質問者

お礼

yambejp様、早速のご回答ありがとうございます。 見事に出来ました^^ ありがとうございます。 これから早速実践したいと思います。 PS:また壁にぶつかってしまったらお助けください。

abc333xyz
質問者

補足

yambejp様、お忙しいところ申し訳ありません。 実践したところ、今度は「該当データがありません」しか出なくなってしまいました。 実践したものはかなり装飾しなければならないので、現在どうしているかをうまくお伝えすることができず申し訳ないのですが、foreachを使っての解決策はございますでしょうか?

関連するQ&A