鍍金池/ 問答/PHP/ php 按日期分組顯示數(shù)據(jù)

php 按日期分組顯示數(shù)據(jù)

數(shù)據(jù)表如圖上部分顯示,想用mysql實現(xiàn)圖下半部分效果,新手上路,求大神幫忙
$result = mysql_query("select * from table order by sj desc");
然后接下來應(yīng)該怎么寫輸出的呢?

圖片描述

回答
編輯回答
還吻

@qiaoweizhen foreach($item as $key => $value) 里面的$item應(yīng)該是$v,這樣就可以實現(xiàn)了,多謝

$res = [];
$result = mysql_query("select * from table order by sj desc");
while ($item = mysql_fetch_assoc($result)) {

$date         = substr($item['sj'], 0, 10);
$res[$date][] = $item;

}
var_dump($res);

// 再做一次循環(huán)輸出,應(yīng)該是你要的結(jié)果

foreach($res as $k => $v){

echo date('m月d日',strtotime($k));
foreach($v as $key => $value){
    echo $value['title'];
}

}

2017年4月4日 15:55
編輯回答
舊顏

。。。。。。。在你的sql語句order by前面加個group by sj就可以了。詳細(xì)一點就是select sj from table group by sj order by sj desc,然后通過while循環(huán)結(jié)果,然后把結(jié)果再當(dāng)成where條件,再寫一個查詢title字段循環(huán)出來就行了。

2018年5月18日 02:54
編輯回答
夏木

這個是你要的嗎?

<?php

$data = [
    [
        'id'    => 1,
        'sj'    => '2018-03-24 14:30:00',
        'title' => '第一條記錄',
    ],
    [
        'id'    => 2,
        'sj'    => '2018-03-24 16:30:00',
        'title' => '第二條記錄',
    ],
    [
        'id'    => 3,
        'sj'    => '2018-03-25 10:30:00',
        'title' => '第三條記錄',
    ],
];

$res = [];
foreach ($data as $item) {
    $date         = substr($item['sj'], 0, 10);
    $res[$date][] = $item;
}
var_dump($res);


// 更新 沒有實測
$res    = [];
$result = mysql_query("select * from table order by sj desc");
while ($item = mysql_fetch_assoc($result)) {
    $date         = substr($item['sj'], 0, 10);
    $res[$date][] = $item;
}
var_dump($res);

// 再做一次循環(huán)輸出,應(yīng)該是你要的結(jié)果

foreach($res as $k => $v){
    echo date('m月d日',strtotime($k));
    foreach($item as $key => $value){
        echo $value['title'];
    }
}
2017年8月31日 16:54
編輯回答
骨殘心
$oMysqli = new Mysqli($sHost,$sUser,$sPwd,$sDbname,$sPort);

$sSql = "select * from t_test1 order by sj desc";

$rResult = $oMysqli->query($sSql);

$aDate = [];
while($aResult = $rResult->fetch_assoc())
{
    $sCurrentDate = date("m月d日",strtotime($aResult['sj']));
    if(!in_array($sCurrentDate,$aDate))
    {
        var_dump($sCurrentDate);
        $aDate[] = $sCurrentDate;
    }
    var_dump($aResult['title']);

}

$oMysqli->close();
2018年5月15日 20:54