[PHP]MySQLでのAND検索の実装方法 | Webサイト運営ブログ


[PHP]MySQLでのAND検索の実装方法

Written on 2009年5月30日 – 12:05 AM | by admin |

MySQLを用いたデータベースにおいて、「キーワード1[スペース]キーワード2」と検索した場合に、AND検索として判断してPHPで処理する方法。

半角スペースもしくは全角スペースもしくは「 AND 」という言葉がキーワードに挿入されていた場合、複数キーワードによる検索として処理してます。

テーブル名はdata、レコード名はkeywordと仮定します。PHPでデータベースを呼出し後、以下を記述。

$query = "SELECT * FROM data WHERE";
if($keyword){
$str = array(" ", " and ", " AND ");
$keyword = str_replace($str, " ", $keyword);
if(stristr($keyword, " ")){//複数キーワードでの検索
$ex = explode(" ", $keyword);
$count = count($ex);
for($i=0; $i<$count; $i++){
if($i!="0"){
$sql = $sql." and";
}
$sql = $sql." keyword LIKE '%{$ex[$i]}%'";
}
}else{//単体キーワードでの検索
$sql = " keyword LIKE '%{$keyword}%'";
}
}
$query = $query.$sql;
$result = mysql_query($query);

あとはPHPで出力ソースを書けばOKです。


実践マスターPHP+MySQL―PHP4/PHP5対応

著者/訳者:小島 まさご

出版社:ソーテック社( 2007-06-18 )

定価:¥ 2,604

Amazon価格:¥ 2,604

単行本 ( 383 ページ )

ISBN-10 : 4881665839

ISBN-13 : 9784881665831



タグ: ,
Yahoo!ブックマークに登録 はてなブックマークに追加 このエントリーをFC2ブックマークへ追加 BuzzurlにブックマークBuzzurlにブックマーク あとで読む
スポンサード リンク


  1. 2 Responses to “[PHP]MySQLでのAND検索の実装方法”

  2. By on 11月 8, 2009 | Reply

    //単体キーワードでの検索
    //複数キーワードでの検索

    で、わざわざ二通りで作るよりもforが入ってるので通常通り問い合わせをしてfor構文で囲めば単体であれば単体、複数であれば複数問い合わせてくれますよ?

  3. By olisys on 11月 8, 2009 | Reply

    あ様

    ご指摘ありがとうございます。

コメント投稿

※誹謗中傷や公序良俗に反するコメントはコメントアウトでIPアドレスが残る場合があります。


OLIVESYSTEM

当サイトはOLIVESYSTEM(略称olisys及びオリシス)が運営するウェブログです。
Webサイトの運営メモ、本のレビュー、HTML,CSS,PHPプログラミングに関する話題が中心です。そのほかにも、IT製品、動画、有益なWebページの紹介なども行っていきます。
記事検索 :

あわせて読みたいブログパーツ


フィードメーター - Webサイト運営ブログ=OLIVESYSTEM=
ページビューランキング
ページランク pixiv