我在处理一个显示存储在mysql db表中的用户活动的报告时遇到了一些问题。存储的用户活动数据是时间戳、用户id和活动类型。在前端,表在每一行中显示用户,并合计每一列中的活动类型,这是我当前正在处理的。
我想在前端添加一个选项,允许用户筛选从中提取数据的日期(基于时间戳),例如“筛选过去7天、过去30天、过去60天等”,但我不确定最初如何显示此信息,然后可以选择按日期筛选。
我构建的所有东西目前都在wordpress上(所以我经常使用php,不确定这是最好的方法还是应该使用js)。
任何建议或轻推在正确的方向是感激的!
下面是代码的一般示例
<table class="activityreport">
<thead>
<tr class="table100-head">
<th class="column1">User</th>
<th class="column1">Activity 1</th>
<th class="column1">Activity 2</th>
<th class="column1">Activity 3</th>
<th class="column1">Activity 4</th>
<th class="column1">Total Activities</th>
</tr>
</thead>
<tbody>
<?php
global $wpdb;
$table_name = $wpdb->prefix . "_activities";
$activity_log = $wpdb->get_results( "SELECT * FROM " . $table_name );
$users = get_users();
foreach($users as $user){
$total_activities = 0;
$total_activity1 = 0;
$total_activity2 = 0;
$total_activity3 = 0;
$total_activity4 = 0;
foreach($activity_log as $activity){
if($activity->user_id == $user->ID){
if($activity->activity_type == 'activity1'){
$total_activity1 += 1;
}elseif($activity->activity_type == 'activity2'){
$total_activity2 += 1;
}elseif($activity->activity_type == 'activity3'){
$total_activity3 += 1;
}elseif($activity->activity_type == 'activity4'){
$total_activity4 += 1;
}
}else{}
$total_activities = $total_activity1 + $total_activity2 +$total_activity3 + $total_activity4;
?>
<tr>
<td><?php echo $user->first_name; ?></td>
<td><?php echo $total_activity1; ?></td>
<td><?php echo $total_activity2; ?></td>
<td><?php echo $total_activity3; ?></td>
<td><?php echo $total_activity4; ?></td>
<td><?php echo $total_activities; ?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
暂无答案!
目前还没有任何答案,快来回答吧!