获取所有金额并在 PHP PDO 中总计,

问题描述

我有 4 张桌子。

  1. 乘客桌
passenger_id 乘客姓名
1 杰斐逊
2 约翰
  1. 关税表
tariff_id tariff_pickup tariff_dropoff 关税_价格
1 布拉干 马尼拉 2000
2 马尼拉 NAIA 1000
3 NAIA 世纪公园 1000
  1. 行程表
trip_id tariff_id
1 1
2 2
3 3
  1. arrangement_transportation 表
transportation_id trip_id passenger_id transportation_isCancelled
1 1 1 错误
2 2 1 错误
3 3 1 错误
4 2 2 错误
5 1 2 错误

现在,我想获取所有行程和特定乘客的费用,其中 transport_isCancelled 为 False。价格将除以乘客总数。

预期结果:

乘客:杰斐逊

取件 下车 价格
布拉干 马尼拉 1000
马尼拉 NAIA 500
NAIA 世纪公园 1000
总计 2500

这是我的代码

<?PHP
    $query = "SELECT * FROM arrangement_transportation 
    LEFT JOIN trip ON trip.trip_id = arrangement_transportation.trip_id 
    LEFT JOIN tariff ON tariff.tariff_id = trip.tariff_id 
    LEFT JOIN passenger ON passenger.passenger_id = arrangement_transportation.passenger_id 
    WHERE arrangement_transportation.passenger_id = 1 AND 
    arrangement_transportation.transportation_isCancelled = 'False' ";
    $statement = $connect->prepare($query);
    $statement->execute();
    $count = $statement->rowCount();
    $output = '';
    if ($count > 0)
    {
        $result = $statement->fetchAll();
        $output .= '<table>
                     <thead>
                       <tr>
                          <th>Pick-Up</th>
                          <th>Drop-Off</th>
                          <th>Price</th>
                       </tr>
                     </thead>
                     <tbody>';
        foreach($result as $row)
        {
            $trip_id = $row["trip_id"];
            $pickup = $row["tariff_pickup"];
            $dropoff = $row["tariff_dropoff"];
            $price = $row["tariff_price"];
            $passenger= $row["passenger_name"];

            $queryCount = "
            SELECT * FROM arrangement_transportation 
            WHERE trip_id = '".$trip_id."' AND transportation_isCancelled = 'False' 
            ";
            $statementCount = $connect->prepare($queryCount);
            $statementCount->execute();
            $countPassenger = $statementCount->rowCount();

            $newPrice = $price/$countPassenger;

            $output .= '<tr>
               <td>'.$pickup.'</td>
               <td>'.$dropoff.'</td>
               <td>'.$newPrice .'</td>
            </tr>';

        }
        $output .= '<tr>
               <td colspan="2">TOTAL</td>
               <td>????????</td>
            </tr>';
        $output .= '</tbody></table>';
    }
?>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)