我有从mysql查询运行的搜索脚本。如果它们的display_name或location与查询类似,它将从数据库中提取匹配的用户。当我执行搜索的用户显示的名字,我得到的只是一个结果,像这样每个用户:限制mysql查询为1结果?
搜索“汤姆” = 2个结果汤姆= 1.tom戴维斯和史密斯2.tom。
无论出于何种原因,如果我的搜索位置即曼彻斯特它复制了成效,例如每个用户:
汤姆·戴维斯 汤姆·戴维斯 汤姆·戴维斯 汤姆·戴维斯 汤姆·史密斯 汤姆·史密斯 汤姆·史密斯 汤姆·史密斯
是否有人可以解释我是如何从这样停止它。我只希望它为符合搜索查询的每个用户调出一个结果,而不是多次显示同一用户。我敢肯定,这是与从ptb_users和ptb_profiles选择全部,但我需要的“帐户类型”和“ACCOUNT_STATUS”被列入这是在ptb_users。
感谢
<?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();
}
?>
您需要提供数据库表结构的信息... –
为什么这样的:'ptb_users.account_type = \“用户\”'...为什么,为什么?为什么不'ptb_users.account_type ='User''?我的哦,我... – CodeAngry