我从头开始构建搜索引擎。
- 它扫描多个数据库中的许多不同表。
- 它仅搜索指定的列。
- 搜索词是
explode()
多词搜索的情况 - 它用 a 遍历
foreach
表。
我在用LIMIT
. 我希望它只显示DISTINCT
。
例如,如果我搜索Joe Schmoe
我的代码将搜索first = joe
然后 for last = schmoe
,它会为每个搜索显示一个结果。但我希望它只显示两个搜索的一个结果。
<?php
echo "<h1>Search Results</h1>";
echo "<table style='width: 100%;'>";
$a = $_GET["q"];
$b = explode(" ", $a);
include 'db_connect3.php';
mysql_select_db("db440035579", $con);
foreach($b as $c){
$sql="SELECT * FROM users WHERE first LIKE '%$c%' || last LIKE '%$c%'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo "<a href='applications.php?act=search&uid=$row[7]'>$row[5], $row[4]</a>";
}
}
mysql_close($con);
?>