Files
Siro/walletintaleq.intaleq.xyz/v2/main/Admin/AdminRide/get.php
2026-06-11 18:22:59 +03:00

145 lines
2.4 KiB
PHP

<?php
include "../../connect.php";
$sql = "SELECT
(
SELECT
TIME_FORMAT(
AVG(
TIMESTAMPDIFF(
SECOND,
rideTimeStart,
rideTimeFinish
)
),
'%Hh %im'
) AS avg_duration
FROM
ride
) AS driver_avg_duration,(
SELECT
COUNT(*) AS total_rows
FROM
(
SELECT
COUNT(driver_id)
FROM
ride
GROUP BY
driver_id
) sub
) AS num_Driver,
(
SELECT
COUNT(*)
FROM
ride
) AS total_rides,
(
SELECT
COUNT(*)
FROM
ride
WHERE
STATUS
= 'waiting'
) AS ongoing_rides,
(
SELECT
COUNT(*)
FROM
ride
WHERE
STATUS
= 'Finished'
) AS completed_rides,
(
SELECT
COUNT(*)
FROM
ride
WHERE
STATUS
= 'cancelled'
) AS cancelled_rides,
(
SELECT
MAX(
TIME_FORMAT(
TIMESTAMPDIFF(
SECOND,
rideTimeStart,
rideTimeFinish
),
'%Hh %im'
)
) AS duration
FROM
ride
) AS longest_duration,
(
SELECT
ROUND(SUM(DISTANCE),
2)
FROM
ride
) AS total_distance,
(
SELECT
ROUND(AVG(DISTANCE),
2)
FROM
ride
) AS average_distance,
(
SELECT
ROUND(MAX(DISTANCE),
2)
FROM
ride
) AS longest_distance,
(
SELECT
SUM(price_for_driver)
FROM
ride
) AS total_driver_earnings,
(
SELECT
SUM(`price_for_passenger`)
FROM
ride
) AS total_company_earnings,
(
ROUND(
(
SELECT
SUM(`price_for_passenger`)
FROM
ride
) /(
SELECT
SUM(price_for_driver)
FROM
ride
),
2
)
) AS companyPercent
FROM
ride
LIMIT 1";
$stmt = $con->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0) {
// Print all the records
// printData($result);
printSuccess($data = $result);
} else {
// Print a failure message
printFailure($message = "No records found");
}
?>