我已经启动了这个邮件系统。在上图中你看到Danny给我发了3条消息,Bibby给我发了2条消息。但是我只想让名字显示一次,所以基本上名字就像一个类别,所以当我点击这个名字时,我会得到那个人的所有信息?
提前致谢
答案 0 :(得分:3)
有两种方法,我认为,从数据库中检索唯一记录,
一个是使用DISTINCT
SELECT DISTINCT Name
FROM tableName
另一种方法是使用GROUP BY
SELECT Name
FROM tableName
GROUP BY Name
答案 1 :(得分:0)
试试这个
$sql = mysql_query("SELECT * dm WHERE torn='$session_rand' GROUP BY fromuser ");
$count = mysql_num_rows($sql);
while($row = mysql_fetch_array($sql))
{ $sendername = $row["fromuser"];
echo '<div class="eachuser" style="background-color:#FFF; margin-bottom:1px; padding:7px; font-size:12px; text-align:center;"> ' .$sendername. ' </div>'; }
class="eachuser"
并且同时拥有内心风格? 把那些
background-color:#FFF; margin-bottom:1px; padding:7px; font-size:12px; text-align:center;
在eachuser
类中并从div中删除它们
答案 2 :(得分:-1)
您可能想要做的事情(如果您不想关注@ JW。修改数据库查询的示例),就是创建一个数组来存储您已经显示过的名称,然后在循环遍历结果集的每个实例。
// the result set coming from the database - all senders
$senders = array('danny', 'danny', 'danny', 'bibby', 'bibby', 'danny', 'bibby');
// the empty array to store the already displayed senders
$displayed = array();
// loop through each sender
foreach($senders as $sender) {
// if the sender is not in the array (therefore not yet displayed)
if(!in_array($sender, $displayed) {
echo $sender . "<br />";
$displayed[] = $sender;
}
}
此循环应仅回显每个名称一次。