gpt4 book ai didi

php - 限制 post sql 结果

转载 作者:行者123 更新时间:2023-11-30 23:23:02 25 4
gpt4 key购买 nike

我从头开始构建一个搜索引擎。

  • 它扫描多个数据库中的许多不同表。
  • 它只搜索指定的列。
  • 搜索词是explode()多词搜索的情况
  • 它使用 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);
?>

最佳答案

首先http://bobby-tables.com/

其次,插入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>";
}

关于php - 限制 post sql 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14712694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com