为什么要对这个问题进行投票?
所以我正在开发一个显示注册用户的项目,如果注册用户在另一个mysql表中有产品,那么用户的电子邮件将显示在另一个列表中,但只显示一次。
在数据库中,用户电子邮件是每个产品的绑定点,因此如果用户有2个产品,则电子邮件将在数据库中设置两次,但在两个不同的行上设置。
所以我需要做的是,如果两次发送电子邮件,则隐藏一行。
这可能是对mysql的一些更改,或者是否可以使用php if语句修改语句,如果是这样的话怎么样?
LIMIT 1在这个查询中似乎不起作用。
以下代码显示:
mail@aaa.com
mail@aaa.com
mail@aaa.com
mail@bbb.com
mail@ccc.com
我希望它显示:
mail@aaa.com
mail@bbb.com
mail@ccc.com
谢谢你 吉姆
<?php
$user_list = "";
$sql = mysql_query("SELECT * FROM userproducts");
$userCount = mysql_num_rows($sql);
if ($userCount > 0){
while($row = mysql_fetch_array($sql)){
$email = $row["user"];
$user_list .= '<table width="300">
<tr>
<td>'.$email.'</td>
</tr>
</table>';
}
}else{
$user_list = "We have no users with special prices yet";
}
?>
答案 0 :(得分:3)
将GROUP BY添加到查询
SELECT * FROM userproducts GROUP BY user
或使用DISTINCT获取唯一身份用户
SELECT DISTINCT(user) FROM userproducts
答案 1 :(得分:2)
使用:
SELECT DISTINCT(user) FROM userproducts
在查询中。