Databaseden kontrol ederek div gösterme nasıl yapabilirim?
Siteye giriş yapıldığında kişi eğer admin ise (databasede admin INT olarak bir değişken oluşturdum aklıma gelen en basit çözüm buydu) Admin Paneli diye bir link göstermek istiyorum, bir kere yaptım ama 3 kere gösterdi. Gösterdi göstermesine ama 3 tane hesap oldupu için...
Kod:
$sorgu=$db->query("SELECT * FROM hesapbilgileri");
foreach ($sorgu as $deg) {
if($deg['admin']!="") {
echo '<li><a class="btn trigger" href="admin.php">Admin</a></li>';
}
}
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (14)
Dostum admin 1 ise gözükmeyecekmiydi ? localde test ettim emin olma adına bir sorun yok :D
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=prototurkdeneme;charset=utf8", "root","");
} catch ( PDOException $e ){
print $e->getMessage();
}
$sorgu=$db->query("SELECT * FROM admin")->fetch(PDO::FETCH_ASSOC);
if($sorgu['durum'] == 1) { ?>
<li><a class="btn trigger" href="admin.php">Admin</a></li>
<?php } ?>
sen hesapbilgileri tablosundan tüm verileri çekiyorsun,
sonra admin olanları döngüye (foreach) alıp (if) Admin butonu göster diyince de kaç admin varsa o kadar Admin buton (echo) yazdırıyor.
@emmir2'nin yaptığı gibi sorguna bir kıstas verip (where) giriş yapan kişinin yetkisinin admin olup olmadığına göre Admin butonu (linki) göstermen lazım.