-1

私はmysqlにテーブルを持っています

comment_id   comment_by_user   comment_date                comment_body
  1244         david_sam       2013-02-27 15:46:53          xyz
  1245         raymond_davis   2013-02-27 13:46:53          xyz
  1246         jam_jam         2013-02-14 18:46:53          xyz

このデータを次のように表示したい

2013-02-27 -------------------------------------
1244       david_sam        15:46      xyz     
1245       raymond_davis    13:46      xyz
2013-02-14 -------------------------------------
1246       jam_jam          18:46      xyz

どうすればそれを行うことができますか、どのSQLクエリとどのPHPメソッドですか?

4

2 に答える 2

2

必要な列をすべて選択するだけです

select comment_id, comment_by_user,
       date(comment_date), time(comment_date), comment_body
from comments
order by comment_date desc, comment_id

行を出力し、日付が変わると追加の行を挿入します

$current_date = '';
while (list($id, $user, $date, $time, $body) = $sth->fetch(PDO::FETCH_NUM)) {
    if ($date != $current_date) {
        echo "$date ----\n";
        $current_date = $date;
    }

    echo "$id $user $time $body\n";
}
于 2013-03-11T11:00:09.007 に答える
0

これを試してみてください..

SELECT * FROM `table_name` ORDER BY `comment_date` DESC

そして、あなたのphpコードはこのようにbrする必要があります..

$date = '';
foreach($records as $record)
{
    if($date != date('Y-m-d'), strtotime($record->comment_date))
    {
        //  print "2013-02-14 -------------------------------------";
        $date = date('Y-m-d'), strtotime($record->comment_date);
    }

    //  print "1246       jam_jam          18:46      xyz";
}
于 2013-03-11T11:01:01.833 に答える