Php 将消息显示为按主题分隔的对话
我有一张桌子,我试着以对话和主题分组的方式显示消息 当前查询是:Php 将消息显示为按主题分隔的对话,php,mysql,Php,Mysql,我有一张桌子,我试着以对话和主题分组的方式显示消息 当前查询是: SELECT * FROM contact WHERE to='bob' ORDER BY date DESC if(mysql_num_rows($query) > 0) while ($row = mysql_fetch_array($query)){ $id = $row["id"] ; $from = $row["from"] ; $subject = $ro
SELECT * FROM contact WHERE to='bob' ORDER BY date DESC
if(mysql_num_rows($query) > 0)
while ($row = mysql_fetch_array($query)){
$id = $row["id"] ;
$from = $row["from"] ;
$subject = $row["subject"] ;
$message=$row["message"];
$date=$row["date"];
<?php echo $subject;?>
<?php echo $message;?>
<?php echo $from;?>
<?php echo $date;?>
这让我明白:
主题:足球
嗨!迈克2016-08-15 06:43:35发来的
主题:足球
你怎么样?迈克2016-08-15 06:45:00发来的
尝试按主题分组,但只显示一个结果
SELECT * FROM contact WHERE to='bob' GROUP BY subject ORDER BY date DESC
感谢您对如何按主题显示消息组的帮助
例如:
主题:足球
嗨!迈克2016-08-15 06:43:35发来的
你怎么样?迈克2016-08-15 06:45:00发来的
让我们玩吧!迈克2016-08-15 06:46:10发来的
主题:学校
怎么样。。Mike在2016-08-16 08:40:00的采访中说,这似乎是你想要的,但你并不完全清楚你想要的结果
SELECT *
FROM contact
WHERE to='bob'
ORDER BY subject, date
然后,您的代码可以这样更改,以便仅在类别更改时打印它
if(mysql_num_rows($query) > 0) {
$last_subject = NULL;
while ($row = mysql_fetch_array($query)){
if ( $last_subject !== $row["subject"] ) {
echo $row["subject"];
$last_subject = $row["subject"];
}
echo $row["message"];
echo $row["from"];
echo $row["date"];
}
}
请建立模式并给我们链接。问题显然是您的
php
代码中没有提供…该表上不存在名为idAccount
的列!谢谢RiggsFolly。我们不知道您实际想要的结果是什么?通过查询,只需相应地修改您的代码,以便在类别更改时仅打印类别
if(mysql_num_rows($query) > 0) {
$last_subject = NULL;
while ($row = mysql_fetch_array($query)){
if ( $last_subject !== $row["subject"] ) {
echo $row["subject"];
$last_subject = $row["subject"];
}
echo $row["message"];
echo $row["from"];
echo $row["date"];
}
}