• ベストアンサー

完全一致ではなく”含む”

if($jyusyo != "") { foreach ($jyusyo as $value) { $like .= "'" . $value . "',"; } //最後の , を削除 $like = substr($like, 0, -1); $query = $query . " jyusyo in ($like) "; } 現在教えていただいたコードを使用しています。このコードだと”豊岡市”に完全一致した情報しかDBから取り出されません。これを”豊岡市中央町”等の豊岡市を含むものも検索結果に反映させるにはどうしたらよいですか??

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

  • ベストアンサー
回答No.2

$arr = array(); if($jyusyo != "") { foreach ($jyusyo as $value) { $arr[] = "jyusho like ''%{$value}%"; } $where = (isset($arr)) ? implode(" or ", $arr) : ''; //最後の , を削除 $query = "SELECT * FROM table WHERE $where"

その他の回答 (2)

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

ちゃんと回答みてます? http://okwave.jp/qa/q7037791.html

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

phpじゃなくて、SQL文についてなので、 ・データベースの種類。 ・$queryの中 は記載した方が良い。 $query = $query . " jyusyo in ($like) "; を $query = $query . " jyusyo like '($like)%' "; にしたらどうでしょうか?(未検証です。)

関連するQ&A