[英]Using MySQL and PHP to display and group data
我有一个要显示在页面上的更新列表,但我想列出它们并按每天的更新分组。
所以例子我希望他们看起来像
<tr>
<td colspan=3>April 07 2016</td>
</tr>
<tr>
<td>Update4</td>
<td>Category</td>
<td>Added By</td>
</tr>
<tr>
<td>Update3</td>
<td>Category</td>
<td>Added By</td>
</tr>
<tr>
<td>Update2</td>
<td>Category</td>
<td>Added By</td>
</tr>
<tr>
<td colspan=3>March 29 2016</td>
</tr>
<tr>
<td>Update1</td>
<td>Category</td>
<td>Added By</td>
</tr>
所以说我在该日期添加3个更新,则该更新显示在该日期下;如果我在2天之后添加2个更新,则该更新显示在该日期下。
我在网上看到了一些片段,我发现GROUP BY可以工作。
SELECT `title`, `addedby`, `description`, `date_added`
FROM updates WHERE `status`=1 GROUP BY MONTH(date_added)
你尝试过这个吗?
$query=SELECT `title`, `addedby`, `description`, `date_added`
FROM updates WHERE `status`=1 GROUP BY date(date_added)
如果要显示,则需要此
$result = $conn->query($sql)
if ($result->num_rows > 0) {
while($row= $result->fetch_assoc())
{
$title=$row['title'];
$aded=$row['addedby'];
}
然后将这些变量放在要打印值的位置
分组依据是用于汇总功能,例如。
select month(date_added), count(*)
from updates
WHERE `status`=1 GROUP BY MONTH(date_added);
not for conditional query like you want
在这种情况下,您应该为您的date_added值循环(以下代码仅是建议)
foreach ($Array_date_vales as $key => $value) {
"SELECT `title`, `addedby`, `description`, `date_added`
where WHERE `status`=1 and MONTH(date_added) = " . $value
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.