gpt4 book ai didi

php - 将 mysql 查询限制为 1 个结果?

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

我有从 mysql 查询运行的搜索脚本。如果他们的 display_name 或位置类似于查询,它会从数据库中提取匹配的用户。当我搜索用户显示名称时,我只得到每个用户的一个结果,如下所示:

搜索“Tom”= 2 个结果,其中 tom = 1.tom davies 和 2.tom smith。

无论出于何种原因,如果我搜索位置,即曼彻斯特,它会为每个用户复制结果,例如:

汤姆·戴维斯汤姆·戴维斯汤姆·戴维斯汤姆·戴维斯汤姆史密斯汤姆史密斯汤姆史密斯汤姆·史密斯

有人可以解释一下我如何才能阻止它这样做吗?我只希望它为匹配搜索查询的每个用户显示一个结果,而不是多次显示同一用户。我确定这与从 ptb_users 和 ptb_profiles 中选择全部有关,但我需要包含 ptb_users 中的“帐户类型”和“account_status”。

谢谢

<?php
//PHP CODE STARTS HERE

if(isset($_GET['submit'])){

// Change the fields below as per the requirements
$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="database";
$db_tb_atr_name="display_name";

//Now we are going to write a script that will do search task
// leave the below fields as it is except while loop, which will display results on screen

mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");

$query=mysql_real_escape_string($_GET['query']);

$query_for_result=mysql_query("SELECT *
FROM ptb_users, ptb_profiles
WHERE ptb_users.account_type = \"User\" AND ptb_users.account_status = \"Active\" AND ptb_profiles.user_id = ptb_users.id AND display_name like '%".$query."%'
OR location LIKE '%".$query."%' OR age LIKE '%".$query."%'");
echo "<div class=\"results\">";
while($data_fetch=mysql_fetch_array($query_for_result))
{
echo "<div class=\"spacing\"><a href=\"profile.php?id={$data_fetch['user_id']}\">";
echo substr($data_fetch[$db_tb_atr_name], 0,160);
echo "</a></div>";

}


mysql_close();
}

?>

最佳答案

使用 LIMIT 子句

"SELECT * FROM ptb_users, ptb_profiles
WHERE ptb_users.account_type = \"User\" AND ptb_users.account_status = \"Active\" AND
ptb_profiles.user_id = ptb_users.id AND display_name like '%".$query."%'
OR location LIKE '%".$query."%' OR age LIKE '%".$query."%' LIMIT 1"

关于php - 将 mysql 查询限制为 1 个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166060/

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