function get_rs_system_seat_availability($kod_pakej) {
// 1. Guna Caching (Transient) selama 5 minit untuk elakkan bebanan server (high load)
$transient_key = 'rs_seat_' . sanitize_key($kod_pakej);
$cached_seats = get_transient($transient_key);
if ($cached_seats !== false) {
return $cached_seats;[cite: 1]
}
// 2. Butiran Database RS (Sebab satu server, gunakan localhost)
$rs_db_user = 'user_db_wordpress_anda'; // Akaun db yang ada akses ke kedua-dua DB
$rs_db_password = 'password_db_anda';
$rs_db_name = 'nama_database_rs_anda'; // Nama DB sistem RS yang berbeza itu
$rs_db_host = 'localhost'; // Kekal localhost sebab dalam server yang sama
// Buka sambungan ke database RS
$rs_db = new wpdb($rs_db_user, $rs_db_password, $rs_db_name, $rs_db_host);[cite: 1]
if ($rs_db->error) {
return 'Ralat Sambungan';[cite: 1]
}
// 3. SQL Query untuk ambil baki seat mengikut kod pakej[cite: 1, 2]
// Sila tukar 'nama_table_rs' dan 'nama_column' mengikut struktur sebenar DB RS anda[cite: 1]
$query = $rs_db->prepare(
"SELECT baki_seat FROM nama_table_rs WHERE kod_pakej = %s",
$kod_pakej
);
$baki_seat = $rs_db->get_var($query);[cite: 1]
if (is_null($baki_seat)) {
$baki_seat = 0;[cite: 1]
}
// 4. Simpan dalam cache selama 5 minit (300 saat)[cite: 1, 2]
set_transient($transient_key, $baki_seat, 300);[cite: 1]
return $baki_seat;[cite: 1]
}
