0

我有一个 while 循环,它遍历一个收集与搜索词相关的所有行的表。问题是我的数据库中有多行包含完全相同的信息,因此当 while 循环运行时,它将发布重复的信息。我试图找到一种方法来防止 while 循环显示重复的情况。我正在考虑围绕 echoed 变量运行 if 语句,但我不确定要检查什么以防止显示重复信息。这是下面的代码。

$search = mysql_query("SELECT `primary_id`, `person_requested`, `likes` FROM 

`requests` WHERE `person_requested` LIKE '%$search_term%'");



while ($results_row = mysql_fetch_assoc($search)) 

{

$persons = $results_row['person_requested'];

echo $persons;  

}
4

2 回答 2

1

在查询中使用DISTINCT以返回不同的记录:

$search = mysql_query("SELECT DISTINCT `person_requested`, `likes`
              FROM `requests` WHERE `person_requested` LIKE '%$search_term%'");
于 2012-08-14T17:56:32.773 回答
0

尝试调整您的 SQL 以仅返回您需要的结果。您可以尝试使用DISTINCT来消除重复的结果。

于 2012-08-14T17:56:46.300 回答