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

112 lines
2.6 KiB
PHP

<?php
include "../connect.php";
$passengerEmail = filterRequest("passengerEmail");
$passengerId = filterRequest("passengerId");
$passengerphone = filterRequest("passengerphone");
$sql = "SELECT
`passengers`.`id`,
`passengers`.`phone`,
`passengers`.`email`,
`passengers`.`gender`,
`passengers`.`status`,
`passengers`.`birthdate`,
`passengers`.`site`,
`passengers`.`first_name`,
`passengers`.`last_name`,
`passengers`.`sosPhone`,
`passengers`.`education`,
`passengers`.`employmentType`,
`passengers`.`maritalStatus`,
`passengers`.`created_at`,
`passengers`.`updated_at`,
(
SELECT
COUNT(`passengers`.`id`)
FROM
`passengers`
) AS countPassenger,
(
SELECT
COUNT(`feedBack`.id)
FROM
`feedBack`
) AS countFeedback,
(
SELECT
CAST(AVG(`rating`) AS DECIMAL(10, 2))
FROM
`ratingPassenger`
WHERE
`ratingPassenger`.`passenger_id` = `passengers`.`id`
) AS ratingPassenger,
(
SELECT
COUNT(`ratingPassenger`.`driverID`)
FROM
`ratingPassenger`
WHERE
`ratingPassenger`.`passenger_id` = `passengers`.`id`
) AS countDriverRate,
(
SELECT
COUNT(`canecl`.`passengerID`)
FROM
`canecl`
WHERE
`canecl`.`passengerID` = `passengers`.`id`
) AS countPassengerCancel,
(
SELECT
CAST(
AVG(`ratingDriver`.`rating`) AS DECIMAL(10, 2)
)
FROM
`ratingDriver`
WHERE
`ratingDriver`.`passenger_iD` = `passengers`.`id`
) AS passengerAverageRating,
(
SELECT
COUNT(`ratingDriver`.`driver_id`)
FROM
`ratingDriver`
WHERE
`ratingDriver`.`passenger_id` = `passengers`.`id`
) AS countPassengerRate,
(
SELECT
COUNT(`ride`.`passenger_id`)
FROM
`ride`
WHERE
`ride`.`passenger_id` = `passengers`.`id`
) AS countPassengerRide,
(
SELECT
`tokens`.`token`
FROM
`tokens`
WHERE
`tokens`.`passengerID` = `passengers`.`id`
) AS passengerToken
FROM
`passengers`
WHERE
passengers.email = '$passengerEmail' OR passengers.phone = '$passengerphone' OR passengers.id = '$passengerId'
";
$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");
}
?>