php—使用mysql db表中的数据创建报表,用户可以在前端对其进行筛选

tzcvj98z  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(316)

我在处理一个显示存储在mysql db表中的用户活动的报告时遇到了一些问题。存储的用户活动数据是时间戳、用户id和活动类型。在前端,表在每一行中显示用户,并合计每一列中的活动类型,这是我当前正在处理的。
我想在前端添加一个选项,允许用户筛选从中提取数据的日期(基于时间戳),例如“筛选过去7天、过去30天、过去60天等”,但我不确定最初如何显示此信息,然后可以选择按日期筛选。
我构建的所有东西目前都在wordpress上(所以我经常使用php,不确定这是最好的方法还是应该使用js)。
任何建议或轻推在正确的方向是感激的!
下面是代码的一般示例

  1. <table class="activityreport">
  2. <thead>
  3. <tr class="table100-head">
  4. <th class="column1">User</th>
  5. <th class="column1">Activity 1</th>
  6. <th class="column1">Activity 2</th>
  7. <th class="column1">Activity 3</th>
  8. <th class="column1">Activity 4</th>
  9. <th class="column1">Total Activities</th>
  10. </tr>
  11. </thead>
  12. <tbody>
  13. <?php
  14. global $wpdb;
  15. $table_name = $wpdb->prefix . "_activities";
  16. $activity_log = $wpdb->get_results( "SELECT * FROM " . $table_name );
  17. $users = get_users();
  18. foreach($users as $user){
  19. $total_activities = 0;
  20. $total_activity1 = 0;
  21. $total_activity2 = 0;
  22. $total_activity3 = 0;
  23. $total_activity4 = 0;
  24. foreach($activity_log as $activity){
  25. if($activity->user_id == $user->ID){
  26. if($activity->activity_type == 'activity1'){
  27. $total_activity1 += 1;
  28. }elseif($activity->activity_type == 'activity2'){
  29. $total_activity2 += 1;
  30. }elseif($activity->activity_type == 'activity3'){
  31. $total_activity3 += 1;
  32. }elseif($activity->activity_type == 'activity4'){
  33. $total_activity4 += 1;
  34. }
  35. }else{}
  36. $total_activities = $total_activity1 + $total_activity2 +$total_activity3 + $total_activity4;
  37. ?>
  38. <tr>
  39. <td><?php echo $user->first_name; ?></td>
  40. <td><?php echo $total_activity1; ?></td>
  41. <td><?php echo $total_activity2; ?></td>
  42. <td><?php echo $total_activity3; ?></td>
  43. <td><?php echo $total_activity4; ?></td>
  44. <td><?php echo $total_activities; ?></td>
  45. </tr>
  46. <?php
  47. }
  48. }
  49. ?>
  50. </tbody>
  51. </table>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题