我从头开始构建搜索引擎。
explode()
&#39}多个字词搜索foreach
进行迭代。 我在使用LIMIT
构建代码库时遇到了问题。我希望它只显示DISTINCT
。
例如,如果我搜索Joe Schmoe
,我的代码将搜索first = joe
,然后搜索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);
?>
答案 0 :(得分:0)
其次,插入PDO
只需几行代码。
第三,全文搜索更好。
最后:
使用数组微操作。我假设$row[0]
是user.id
。这样,每ID
$cache = array();
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)){
$cache[$row[0]] = $row;
}
}
foreach($cache as $row){
echo "<a href='applications.php?act=search&uid=$row[7]'>$row[5], $row[4]</a>";
}