[英]how to retrieve same column data and display as group
a table named users_log contains users login and logout time and date, but i am not able to sort data as i intend. 名为users_log的表包含用户登录和注销时间和日期,但我无法按照我的意图对数据进行排序。
Query
询问
mysql_query('SELECT * FROM users_log WHERE u_id = 52 ORDER BY date_log')
It sort data like
它对数据进行排序
Fri 12 Jul 13 - 03:41:40 PM - 03:42:31 PM
Fri 12 Jul 13 - 05:35:40 PM - 05:42:31 PM
Sat 13 Jul 13 - 02:29:09 PM - 02:34:52 PM
users_log table
users_log表
log_id, u_id, date_log, logged_date, login_time, logout_time
2, 52, 2013-01-12, Fri 12 Jul 13, 03:41:40 PM, 03:42:31 PM
as i intend to display data
因为我打算显示数据
Fri 12 Jul 13
03:41:40 PM - 03:42:31 PM
05:35:40 PM - 05:42:31 PM
Sat 13 Jul 13
02:29:09 PM - 02:34:52 PM
Do this: 做这个:
$result = mysql_query('SELECT * FROM users_log WHERE u_id = 52 ORDER BY date_log');
$sorting = array();
while($row = mysql_fetch_assoc($result))
{
$sorting[$row['logged_date']][] = $row['login_time']."-".$row['logout_time'];
}
//Now you loop over the sorted data using foreach($sorting as $key => $value) and display it any way you want.
I hope this can be of some help. 我希望这可以提供一些帮助。
IMHO you should do something like(i assume you want to do it in php): 恕我直言你应该做的事情(我假设你想在PHP中做):
SELECT date_log FROM users_log WHERE u_id = 52 GROUP BY date_log,
then iterate over results (in php) and get the corresponding rows for date: 然后迭代结果(在php中)并获取相应的日期行:
SELECT * FROM users_log WHERE u_id = 52 AND date_log = $date_for_current_iteration ORDER BY date_log;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.