• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPによるCSVファイルの指定列検索について)

PHPによるCSVファイルの指定列検索方法とは?

このQ&Aのポイント
  • PHPによるCSVファイル内の指定列内を検索する方法について困っています。
  • CSVファイルの登録情報は1,りんご,あり 2,なし,あり 3,ぶどう,なし 4,メロン,なし 5,スイカ,なし としています。
  • PHP上で指定列のみを検索する場合、どこを変更すれば良いのか教えてください。

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

  • ベストアンサー
  • explode
  • ベストアンサー率100% (6/6)
回答No.1

こんにちは。 はじめまして。 ソースを拝見しました。 「なし」で検索をするとCSVの3列目の「あり・なし」も 引っかかってしまってますね。 ということは2列目のみ検索させなければならないので、 先に explode で各列に分割し、2列目のみを検索対象にします。 こんな感じです。 <!--ここから検索結果--> <ul> <?php if($_POST["touroku_type"]!=""){ $KeyWord=$_POST["touroku_type"]; $KeyWord=htmlspecialchars($KeyWord); $Data=file("system.csv"); print_a($Data); for($i=0;$i<sizeof($Data);$i++){ $lines=strip_tags($Data[$i]); $line=explode(",",$Data[$i]); if(mb_eregi($KeyWord,$line[1])){ ?> <li><?=$line[1]?> → <a href="item.php?id=<?=$line[0]?>">詳細を見る</a></li> <?php } } } ?> </ul> いかがでしょうか。

nyamaa
質問者

お礼

explode様 回答ありがとうございました。 指示通りに書き換えて実行したところ、見事指定列のみを検索対象とすることができるようになりました。ここで2週間ほど躓いていたので感動の極みです。 しかし、少し変えただけで動くようになるなんて勉強不足としか言いようがないですね。お恥ずかしい。CSVに関する参考書自体なかなか本屋に置いていない事が多いので情報源がネットに偏りすぎて応用が利かないのはまずいですね。もっと勉強します。 アドバイスありがとうございました。

関連するQ&A

専門家に質問してみよう