簡體   English   中英

使用MySQL和PHP顯示和分組數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM