+--------------------+---------+-------+
| date | query | count |
|--------------------+---------+-------|
|2012-11-18 09:52:00 | Michael | 1 |
|2012-11-18 10:47:10 | Tom | 2 |
|2012-11-17 15:02:12 | John | 1 |
|2012-11-17 22:52:10 | Erik | 3 |
|2012-11-16 09:42:01 | Larry | 1 |
|2012-11-16 07:41:33 | Kate | 1 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
等等.我可以通过以下代码简单地获取结果并按日期在一行中对它们进行排序:
$queries = MysqL_query("SELECT * FROM my_tables ORDER BY date DESC LIMIT 20");
while($row = MysqL_fetch_array($queries)){
echo "Name ".$row['query']."";
}
但是如何显示按特定日期排序的表中的元素,如下所示:
In 2012-11-18:
Michael
Tom
In 2012-11-17:
John
Erik
In 2012-11-16:
Larry
Kate
等等.谢谢!
解决方法:
$query = MysqL_query("SELECT date, query FROM table6 ORDER BY date DESC LIMIT 20");
$group_date = null;
while ($row = MysqL_fetch_assoc($query)) {
if ($group_date !== substr($row["date"], 0, 10)) {
$group_date = substr($row["date"], 0, 10);
echo "<h1>$group_date</h1>\n";
}
echo "${row['query']}<br>\n";
}
输出:
2012-11-18
Tom
Michael
2012-11-17
Erik
John
2012-11-16
Larry
Kate
请注意,虽然此代码将行“按行”分组,但可以轻松地将其扩展为按多列分组行.留下来作为锻炼.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。