人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

(PHP & MySQL) hogehoge というテーブルに word title task というカラムがあります。

このテーブルに対する検索スクリプトを作りたいのですが、like でやると一応はできるのですが、スペースを入れて "and検索" することはこの方法ではできません。

どうすればスペースを入れればアンド検索ができるのでしょうか?

簡単なサンプルスクリプトなどをお願いします。

●質問者: esecua
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL PHP Word カラム スクリプト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Sampo
●60ポイント

$keywords = preg_split("/[ ]+/",$_GET["keywords"]);

// まずは検索ワードをスペースで分解。半角スペースでも全角スペースでも。

$where = " where 1";

// 検索条件は、最初は「すべてのタプル」

foreach( $keywords as $word ){ //検索語それぞれについて

$where .= " and word like '%$word%'";

// 検索条件に、andで追加していく

}

$SQL = "select * from hogehoge $where";

// この検索条件をSQL文に埋め込む

ワード検索は、word, title, task どれかのカラムにあればいい、という探索条件でしょうか? もしそうならforeachのループ内は

$where .= " and ( word like '%$word%'".

" or title like '%$word%'".

" or task like '%$word%')";

// 検索条件に、andで追加していく

のようになりますね。

http://www.yahoo.co.jp/

◎質問者からの返答

回答ありがとうございます。

もうひとつ別な方法はないですかね?簡単なやつを。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ