0

さまざまな単語を文字列ではなくキーワードとして検索して検討できるようにする必要があります。

実は「ランプブルー」を検索しても「青と白のランプ」や「ブルーランプ」の結果は出ません。スペースをキーワードの区切り文字と見なしたい。実際のコードを考慮して、これをどのように行うことができますか?

$pdo2_where = " WHERE (" .$db_type_1_associations['nom_bot'] ." LIKE ? || " .$db_type_1_associations['id'] ." LIKE ? || " .$db_type_1_associations['nom_fr'] ." LIKE ? || " .$db_type_1_associations['description'] ." LIKE ? || " .$db_type_1_associations['commentaire_public'] ." LIKE ?)" .$pdo2_add_where_photos ;
$pdo2_execute = array (
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%'
); 

*また、スラッシュ、コンマ、その他の従来の区切り文字を区切るとよいでしょう。

4

1 に答える 1

1

これは、検索エンジンの使用について考える良い機会です。または、可能であれば、少なくとも全文索引。

これは SQL だけで実行できますが、クエリはより複雑になります。検索文字列をスペースで分割し、キーワードとフィールドの組み合わせごとに or 句を追加する必要があります。

于 2013-01-14T22:05:37.210 に答える