• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数の検索)

PHPとMySQLを使った友達のID番号の取得方法

このQ&Aのポイント
  • 会員情報から友達の名前を登録できるようにしました。postで受け取った情報は友達の名前のみです。友達の名前から友達のID番号を取得したいのですが、15人分まとめて取得する方法はありますか?調べるテーブルのカラムにはidとnameがあり、重複はありません。
  • HTMLフォームには15個ほどのinput=textがあり、何も記入されていない欄もあります(fre3に書き込んであってfre2が空白の場合があります)。
  • $fre1 = $_POST['fre1']; $fre2 = $_POST['fre2']; $fre3 = $_POST['fre3']; $sql = sprintf("SELECT id FROM friend WHERE name LIKE '%s'",$fre1); $recordSet = mysql_query($sql); $data = mysql_fetch_assoc($recordSet);

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

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

freの受け渡しを配列処理でできれば構文は簡素化できます <input type="text" name="fre[]"> <input type="text" name="fre[]"> <input type="text" name="fre[]"> <?PHP $sql = "SELECT id FROM friend WHERE 1"; $str=""; $fre=isset($_POST["fre"])?$_POST["fre"]:false; foreach((array) $fre as $val){ if(!empty($val)){ //空データの場合処理しない $str.=$str===""?"AND name IN (":","; $str.=$val; } } if($str!="") $str.=")"; $sql.=$str; print_r($sql); ?> nameが完全一致ならlikeで検索する必要はありません

flash0
質問者

お礼

お答え頂きありがとうございます 難しくてできませんでした 他の方法かんがえます

関連するQ&A