Dinamik İd' ile Sidebar nasıl yapılabilir.
Arkadaşlar Selam;
Müşterilerimi listelediğim sayfada Örnek Müşteri bir üzerine gelince ;
dashboard?sayfa=musteriyegit&id=1
şeklinde müşterimin id ile çekiyorum fakat tıklayıp musteri sayfasına gittiğimde sol menüde
olan tüm sidebarın şuanda mesela;
Raporlar; dashboard?sayfa=musteriyegitraporlar
Evraklar: dashboard?sayfa=musteriyegitevraklar
Dosyalar; dashboard?sayfa=musteriyegitdosyalar
şeklinde geliyor.
Ben bunların hepsinin artık dinamik olarak
Raporlar; dashboard?sayfa=musteriyegitraporlar&id=1
Evraklar: dashboard?sayfa=musteriyegitevraklar&id=1
Dosyalar; dashboard?sayfa=musteriyegitdosyalar&id=1
Şeklide gelmesini istiyorum fonksiyondaki sorgu ilede sadece o müşteriye ait olan verileri çekicem.
Nasıl yapabilirim Teşekkürler.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (7)
Uzanktan bağlanmak için musait değilim ama zaten tayfun hoca konuya el atmış :)
sidebar kodlarını şöyle yapabilirsin
<ul>
<li>
<a href="dashboard?sayfa=musteriyegitraporlar<?=isset($_GET['id'] ? '&id=' . $_GET['id'] : null)?>">Raporlar</a>
</li>
<li>
<a href="dashboard?sayfa=musteriyegitevraklar<?=isset($_GET['id'] ? '&id=' . $_GET['id'] : null)?>">Evraklar</a>
</li>
<li>
<a href="dashboard?sayfa=musteriyegitdosyalar<?=isset($_GET['id'] ? '&id=' . $_GET['id'] : null)?>">Dosyalar</a>
</li>
</ul>
böylece id
diye bir get parametresi varsa linklerin sonuna ekleyecek, yoksa eklemeyecek.
sidebar ı dışarıdan çeksende önemli olan sadece çektiğin kısım.
musteriyegit.php
$mId = @$_GET["id"];
$query = $db->prepare("SELECT * FROM musteriler WHERE musteri_id = :id");
$query->bindValue(':id', $mId, PDO::PARAM_INT);
$query->execute();
$musteri = $query->fetch(PDO::FETCH_ASSOC);
$musteri_id = 0;
if($query->rowCount()){
// müşteri var
$musteri_id = $musteri["musteri_id"];
} else {
// müşteri yok
}
// yukardaki işlemleri sidebar.php den önce yazarsan sorun çıkmayacaktır.
include "sidebar.php";
sidebar.php
if($musteri_id != 0){
// müşteri var
} else {
// müşteri yok
}
basit haliyle yazdım. bunları fonksiyonlarlada yapabilirsin.
Şuan öğrenme aşamasındaysan bu şekilde yapmanda sıkıntı yok ama ilerde MVC
Model View Controller yapısını öğrenmeni tavsiye ederim.
$_GET ile yaparsan böyle bir müşteri olmasada sidebar kısmında linkler gözükecektir.
yukarıdaki sorguyu bi fonksiyon haline getirip sidebarda kullanabilirsin.
dashboard?sayfa=musteriyegit&id=1
bu şekilde müşterinin sayfasına gittin.
Böyle bir müşteri varmı yokmu kontrol ettin.
müşteri varsa side bar kısmında.
if(/*müşteri varsa*/){
echo "<ul><li><a href=\"".dashboard?sayfa=musteriyegitraporlar&id=$musteri_id."\">Raporlar</a></li>
<li><a href=\"".dashboard?sayfa=musteriyegitevraklar&id=$musteri_id."\">Evraklar</a></li>
<li><a href=\"".dashboard?sayfa=musteriyegitdosyalar&id=$musteri_id."\">Dosyalar</a></li></ul>";
}