0

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

+----+----------------------------+
| id | name | datetime            |
+----+----------------------------+
|  1 | Qwe  | 2012-11-20 08:00:00 |
|  2 | Foo  | 2012-11-20 05:00:00 |
|  3 | Bar  | 2013-01-01 08:00:00 |
+----+----------------------------+

次のようにmysqlを使用してdbから取得する方法:

date
id - time - name

2012-11-20
2 - Foo - 05:00
1 - Qwe - 08:00

2013-01-01
3 - Bar - 08:00
4

3 に答える 3

3

1つの方法

$sql = "SELECT id, name, 
      DATE_FORMAT(`datetimecol`, '%Y-%m-%d') mydate, 
      DATE_FORMAT(`datetimecol`, '%H:%i') mytime 
      FROM yourtabe";
$result = mysql_query($sql);
$dataarr = array();
if($result && mysql_num_row($result) > 0) {
    while($row2 = mysql_fetch_assoc($result)) {
    $dataarr[$row2['mydate']][] = $row2;    
    }
}

if(count($dataarr) > 0 )
    foreach($dataarr as $key => $data) {
        echo '<h3>'.$key.'</h3>';
        foreach($data as $row) {
        echo  '<p>'. $row['id'].', '.$row['name'].', '.$row['mytime'].'</p>'; 
        }
    }
}
于 2012-11-15T09:03:43.020 に答える
0
$sql="SELECT extract(datetime) as date,id,name,time(datetime) as time from
       tablename";
$result=mysql_query($sql);

上記のクエリは、mysqlのdate関数とtme関数を使用して、それらについて詳しく知ることができます。

http://phpdynamic.blogspot.in/2012/11/php-myssql.html

于 2012-11-15T09:12:35.933 に答える
0

正確に何をしなければならないかはわかりませんが、これにより、最初の並べ替えを行う方法の基本的な例が得られます。

select date(datetime), id, name, TIME_FORMAT(datetime, '%H:%i') from tmp order by datetime

于 2012-11-15T09:44:28.127 に答える