2017-08-09 21 views
0

这里我想从MySQL计数,我是基于旅程id的两张表我想要计算一下,怎么做到这一点?如何取得两个表值并在json响应中作出

在此,行程对于具有三个计数的行程ID和行程ID 1以及具有两个行程的行程ID 2是共同的。

trip_details(表名称)

tripId  cabNo 

    1   BMW4455 

    2   Audi005 

trip_member(表名称)

id tripId empId 

1  1  100 
2  1  101 
3  1  102 
4  2  105 
5  2  106 

预期结果

{ 
"status": "success", 
"data": [ 
    { 
     "tripId": "1", 
     "cabNo": "BMW4455", 
     "empcount": "3" 
     "employees": [ 
      { 
       "empId": "100", 
      }, 
      { 
       "empId": "101", 
      }, 
      { 
       "empId": "102", 
      } 
     ] 
    }, 
    { 
     "tripId": "2", 
     "cabNo": "Ad2K2001", 
     "count": "2" 
     "employees": [ 
      { 
       "empId": "100", 
      }, 
      { 
       "empId": "101", 
      }, 
      { 
       "empId": "102", 
      } 
     ] 
    } 
] 
} 

我试过,但我没有得到我的确切答案我在这里的代码

 $sql = "SELECT * FROM trip_details a INNER JOIN trip_member b ON a.tripId=b.tripId GROUP BY a.tripId"; 
    $mysql = mysql_query($sql); 
    $count =mysql_num_rows($mysql); 
    if($count > 0){ 
    while ($row = mysql_fetch_assoc($mysql)) { 
    $data[] = $row; 
    } 
    $arrayName = array('status' => 'success', 'count' => $count, 'data' =>$data); 
    echo json_encode($arrayName); 
}else{ 
$arrayName = array('status' => 'error', 'data' =>'Data not found'); 
    echo json_encode($arrayName); 
} 

我得到的输出

{ 
"status": "success", 
"count": 2, 
"data": [ 
    { 
     "tripId": "1", 
     "cabNo": "BMW4455", 
     "driverId": "DRE001", 
     "routeId": "1", 
     "tripDate": "", 
     "startTime": "", 
     "endTime": "", 
     "shiftId": "1", 
     "tripStatus": "0", 
     "id": "1", 
     "empId": "100", 
     "callStartTime": "", 
     "callEndTime": "", 
     "cabReachingTime": "", 
     "pickupTime": "", 
     "dropTime": "", 
     "dropStatus": "", 
     "otp": "", 
     "pickupotpStatus": "", 
     "empPresentStatus": "" 
    }, 
    { 
     "tripId": "2", 
     "cabNo": "Audi005", 
     "driverId": "DRV101", 
     "routeId": "2", 
     "tripDate": "", 
     "startTime": "", 
     "endTime": "", 
     "shiftId": "1", 
     "tripStatus": "0", 
     "id": "4", 
     "empId": "105", 
     "callStartTime": "", 
     "callEndTime": "", 
     "cabReachingTime": "", 
     "pickupTime": "", 
     "dropTime": "", 
     "dropStatus": "", 
     "otp": "", 
     "pickupotpStatus": "", 
     "empPresentStatus": "" 
    } 
] 
} 
+0

你现在得到什么? –

+1

首先'mysql'扩展名已被弃用,请使用'mysqli'来代替。还请显示你得到的输出。 – Anonymous

回答

0

由于哟你只需要计数,你应该改变你的查询为:

SELECT count(*) as count, tm.tripId from trip_details td 
JOIN trip_member tm on tm. tripId = td.tripId 
GROUP by tm.tripId 
+0

Mr @ Milan Chheda,如何让json像我的预期结果一样 –

相关问题