次のPHP検索スクリプトがあります。
を検索すると1234567
、正確なフレーズに一致しますが、最初の 4 文字のみに一致させたいと考えてい1234
ます。
説明:
最初の 4 文字をカウントし、それらの最初の文字に一致する結果を表示したい。たとえば、誰かが検索した1234567
場合、スクリプトは最初の 4 文字を数え1234
、結果を表示する必要があります。同様に、誰かが検索456789
した場合、スクリプトは最初の 4 文字をカウントし4567
、結果を表示する必要があります。
///explode search term
$search_exploded = explode(" ",$search);
foreach($search_exploded as $search_each)
{
//construct query
$x++;
if ($x==1)
$construct .= "keywords LIKE '%$search_each%'";
else
$construct .= " OR keywords LIKE '%$search_each%'";
}
//echo out construct
$construct = "SELECT * FROM numbers WHERE $construct";
$run = mysql_query($construct);
$foundnum = mysql_num_rows($run);
if ($foundnum==0)
echo "No results found.";
{
echo "$foundnum results found.<p><hr size='1'>";
while ($runrows = mysql_fetch_assoc($run))
{
//get data
$title = $runrows['title'];
$desc = $runrows['description'];
$url = $runrows['url'];
echo "<b>$title</b>
<b>$desc</b>
<a href='$url'>$url</a><p>";