Skip to Content
Home
Events
Forum
Jobs
Contact us
Dashboard
Sign in
Home
Events
Forum
Jobs
Contact us
Dashboard
Sign in
PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]); } catch (PDOException $e) { http_response_code(500); echo json_encode(['error' => 'Database connection failed: ' . $e->getMessage()]); exit; } $action = $_GET['action'] ?? ''; switch ($action) { case 'drivers': $stmt = $pdo->query(" SELECT d.id, d.driver_name, d.email, d.mobile, d.status, d.operator_id FROM tbl_driver d WHERE d.status = 1 ORDER BY d.driver_name "); $drivers = $stmt->fetchAll(); // Get buses for each driver $busStmt = $pdo->query(" SELECT b.id, b.driver_id, b.title, b.bno, b.totl_seat, b.bac, b.bstatus FROM tbl_bus b WHERE b.bstatus = 1 "); $buses = $busStmt->fetchAll(); $busByDriver = []; foreach ($buses as $bus) { $did = $bus['driver_id']; if (!isset($busByDriver[$did])) { $busByDriver[$did] = []; } $busByDriver[$did][] = [ 'id' => (int)$bus['id'], 'name' => $bus['title'], 'plate_number' => $bus['bno'], 'total_seats' => (int)$bus['totl_seat'], 'is_ac' => (bool)$bus['bac'], ]; } $result = []; foreach ($drivers as $d) { $result[] = [ 'id' => (int)$d['id'], 'name' => $d['driver_name'], 'mobile' => $d['mobile'], 'email' => $d['email'], 'status' => $d['status'] == 1 ? 'active' : 'inactive', 'buses' => $busByDriver[$d['id']] ?? [], ]; } echo json_encode($result); break; case 'vehicles': $stmt = $pdo->query(" SELECT b.id, b.title, b.bno, b.totl_seat, b.bac, b.bstatus, d.id as driver_id, d.driver_name, d.mobile FROM tbl_bus b LEFT JOIN tbl_driver d ON b.driver_id = d.id ORDER BY b.title "); echo json_encode($stmt->fetchAll()); break; default: http_response_code(400); echo json_encode(['error' => 'Invalid action. Use: drivers, vehicles']); break; }
Key
Milestone
Reaching new heights together
Innovation
Hub
Where ideas come to life
PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]); } catch (PDOException $e) { http_response_code(500); echo json_encode(['error' => 'Database connection failed: ' . $e->getMessage()]); exit; } $action = $_GET['action'] ?? ''; switch ($action) { case 'drivers': $stmt = $pdo->query(" SELECT d.id, d.driver_name, d.email, d.mobile, d.status, d.operator_id FROM tbl_driver d WHERE d.status = 1 ORDER BY d.driver_name "); $drivers = $stmt->fetchAll(); // Get buses for each driver $busStmt = $pdo->query(" SELECT b.id, b.driver_id, b.title, b.bno, b.totl_seat, b.bac, b.bstatus FROM tbl_bus b WHERE b.bstatus = 1 "); $buses = $busStmt->fetchAll(); $busByDriver = []; foreach ($buses as $bus) { $did = $bus['driver_id']; if (!isset($busByDriver[$did])) { $busByDriver[$did] = []; } $busByDriver[$did][] = [ 'id' => (int)$bus['id'], 'name' => $bus['title'], 'plate_number' => $bus['bno'], 'total_seats' => (int)$bus['totl_seat'], 'is_ac' => (bool)$bus['bac'], ]; } $result = []; foreach ($drivers as $d) { $result[] = [ 'id' => (int)$d['id'], 'name' => $d['driver_name'], 'mobile' => $d['mobile'], 'email' => $d['email'], 'status' => $d['status'] == 1 ? 'active' : 'inactive', 'buses' => $busByDriver[$d['id']] ?? [], ]; } echo json_encode($result); break; case 'vehicles': $stmt = $pdo->query(" SELECT b.id, b.title, b.bno, b.totl_seat, b.bac, b.bstatus, d.id as driver_id, d.driver_name, d.mobile FROM tbl_bus b LEFT JOIN tbl_driver d ON b.driver_id = d.id ORDER BY b.title "); echo json_encode($stmt->fetchAll()); break; default: http_response_code(400); echo json_encode(['error' => 'Invalid action. Use: drivers, vehicles']); break; }