admin_authority verisi sessionda taşınarak koşullu çift sorgu yazılabilir.
if ( $_SESSION['admin_authority'] == 'admin' )
{
// admin için tümünü listeleyen sorgu
$komisyonsor=$db->prepare("SELECT * FROM komisyonlar as k");
$komisyonsor->execute();
} else {
// yetki kontrollü sorgu
$komisyonsor=$db->prepare("SELECT * FROM komisyonlar as k inner join administrator as b on k.komisyon_id=b.komisyon_id WHERE b.admin_username=:username");
$komisyonsor->execute(array(
'username' => $_SESSION['admin_username']
));
}
Bende tam bunun gibi bir sorgu denemiştim ama işe yaramamıştı else den sonraki kısım çalışıyor ama adminler için olan kısım boş dönüyor. Bende aşağıdaki kodu denemiştim.
$user_role = $_SESSION['admin_authority'];
$komisyon_id = $_SESSION['komisyon_id'];
if ($user_role === 'admin' && $komisyon_id == 0) {
$komisyonsor = $db->prepare("SELECT * FROM komisyonlar");
$komisyonsor->execute();
} else {
$komisyonsor = $db->prepare("SELECT * FROM komisyonlar as k LEFT JOIN administrator as b on k.komisyon_id=b.komisyon_id WHERE b.admin_username=:username");
$komisyonsor->execute(array(
'username' => $_SESSION['admin_username']
));
}