私はコメントとあなたの質問を読んでいます、そしてあなたはあなたのMySqlステートメントを準備するために少しのPHPと、繰り返される項目なしで最初の5つに制限された一致する結果をフェッチするためのMysqlクエリが必要だと思いますか?
もしそうなら!!
PHP
<?php
$searchFieldData = $_POST['search'];
$searchArr = explode(" ", $searchFieldData);
$sqlWhere = '';
$count = count($searchArr);
foreach ($searchArr as $or) {
$sqlWhere.= " title LIKE '%".$or."%' ";
if ($count>1) $sqlWhere.= " OR ";
$count--;
}
$query = "SELECT col1, col2, ... FROM table WHERE ".$sqlWhere." LIMIT 5";
?>
上記のコードは、検索語「スーパーハイパークエリクローラー」に対して返されます。
SELECT col1、col2、... FROM table WHERE title LIKE'%super%' OR title LIKE'%hyper%' OR title LIKE'%query%' OR title LIKE'%crawler%' LIMIT 5
今MYSQLマジックのために
結果を繰り返したくない場合は、次を使用してください:GROUP BY'title'
最終的なクエリは次のようになります。
$query = "SELECT col1, col2, ... FROM table WHERE ".$sqlWhere." GROUP BY 'title' LIMIT 5";