フィルター会社の部品番号を含む大規模なデータベースがあります。いくつかの製品は、同じような年とモデル番号を持っています。各部分のテキストキーワードセクションを検索するphpスクリプトがあります。
したがって、1997-1999 Honda Crf 250 090987 19.95の場合、キーワードは次のとおりです。1997 1998 1999 honda crf 250 090987
チュートリアルからコードを取得し、キーワードセクションでスペースで区切られたすべてのものを検索するように記述されています。問題は、リストの多くがホンダまたは同様の年のスプレッドを持っているということです。
結果を絞り込むためにphpを変更する方法を理解する必要があります。そのため、誰かが「1997ホンダ」と入力すると、すべてのホンダと'97が表示されず、1997ホンダのものだけが表示されます。
私はphpを初めて使用しますが、周りを見回しても理解できません。どんな助けでも完全に感謝されます。
これがphpです:
$keywords = $_GET['keywords'];
$terms = explode(" ", $keywords);
$query = "SELECT * FROM search WHERE ";
foreach ($terms as $each){
$i++;
if ($i == 1)
$query .= "keywords LIKE '%$each%' ";
else
$query .= "OR keywords LIKE '%$each%' ";
}
// connect
mysql_connect("localhost", "root", "root");
mysql_select_db("catalog");
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0){
while ($row = mysql_fetch_assoc($query)){
$id = $row['id'];
$year = $row['year'];
$manufacturer = $row['manufacturer'];
$product = $row['product'];
$partnumber = $row['partnumber'];
$price = $row['price'];
echo "<div id=\"results\">
<div class=\"words\">$year</div><div class=\"words\">$manufacturer</div><div class=\"words\">$product</div><div class=\"words\">$partnumber</div>$price<br /></div>";
}
}
else
echo "<div class=\"no_results\"><center>No results found for \"<b>$keywords</b>\"</center></div>";
// disconnect
mysql_close();
?>