首页 > 解决方案 > php json数组获取重复项

问题描述

我试图获取每日总数,每小时总数,因为每小时总数被设置为每日总数的子数组,起始日期将在下一个日期创建重复数组,依此类推..

php脚本:

   $sql = "SELECT cs_id, dated, count(p_id) as day_total FROM post_logs
 where cs_id = '$cs_id' and dated BETWEEN '2021-06-01' and '2021-06-30'
 group by dated order by dated";
 
    $result = mysqli_query($con, $sql);  
    while($row =  mysqli_fetch_array($result))  { 
    $dated = $row['dated'];      
    $cs_id = $row['cs_id'];     
    $dt = $row['day_total'];
      
    $sql2 = "SELECT dated, date_format(actual,'%H:00') as hours, count(p_id) as hour_total 
    FROM post_logs where cs_id = '$cs_id' and dated = '$dated' group by date_format(actual,'%H') >order by dated"; 

    $result2 = mysqli_query($con, $sql2);  
    while($row2 = mysqli_fetch_assoc($result2)) {
      
       $data2[] = $row2;
    } //r2
      
    $data[] = array('date_id' => sha1($dated), 'name' => $dated, 'day_total' => $dt, 'data2' => $data2);    
 } //r1
  echo json_encode($data);

json输出:


[{"date_id":"cb603e7403310cd0130e451aa095501689164b23","name":"2021-06-21","day_total":"12","data2":[{"dated":"2021-06-21","hours":"15:00","hour_total":"2"},{"dated":"2021-06-21","hours":"16:00","hour_total":"1"},{"dated":"2021-06-21","hours":"17:00","hour_total":"2"},{"dated":"2021-06-21","hours":"18:00","hour_total":"2"},{"dated":"2021-06-21","hours":"19:00","hour_total":"1"},{"dated":"2021-06-21","hours":"20:00","hour_total":"3"},{"dated":"2021-06-21","hours":"23:00","hour_total":"1"}]},{"date_id":"54ec9a5871943347c9c6a750b0b11e93744616c1","name":"2021-06-22","day_total":"10","data2":[{"dated":"2021-06-21","hours":"15:00","hour_total":"2"},{"dated":"2021-06-21","hours":"16:00","hour_total":"1"},{"dated":"2021-06-21","hours":"17:00","hour_total":"2"},{"dated":"2021-06-21","hours":"18:00","hour_total":"2"},{"dated":"2021-06-21","hours":"19:00","hour_total":"1"},{"dated":"2021-06-21","hours":"20:00","hour_total":"3"},{"dated":"2021-06-21","hours":"23:00","hour_total":"1"},{"dated":"2021-06-22","hours":"02:00","hour_total":"1"},{"dated":"2021-06-22","hours":"05:00","hour_total":"1"},{"dated":"2021-06-22","hours":"06:00","hour_total":"1"},{"dated":"2021-06-22","hours":"07:00","hour_total":"1"},{"dated":"2021-06-22","hours":"08:00","hour_total":"1"},{"dated":"2021-06-22","hours":"09:00","hour_total":"1"},{"dated":"2021-06-22","hours":"10:00","hour_total":"2"},{"dated":"2021-06-22","hours":"15:00","hour_total":"2"}]}]

如您所见,日期 06-21 已被重复/复制到下一个/后续数组中,其中所需的输出正在摆脱重复问题。

问候,

标签: phpmysqlarraysjson

解决方案


推荐阅读