2 Tablodan veri eşleştirip çekme işlemi
Öncelikle Herkese merhabalar;
Şimdi projede Müşteriler ve musteriler tablosu, Personel ve personel tablosu var. 20 müşteri ve 5 adet de personel var. Yani her 1 personele 4 müşteri düşüyor kendisine tanımlanan müşterileri görebilecek sadece. Sonra Personel giriş yaptı kendisine tanımlanan müşterilerini gördü sonrasında o müşterisinin ismine tıkladığında musterigitid&id1 olan diye Örnek id 1 olan müşteriye yönlendirme yapıcam. Sonrasında sol menüde müşterilerin Genel Raporlar, Poliçeler gibi dosyalarını yükleyeceği yerler var bunu personel yapacak Müşteri sadece görüntüleyebilecek. Burada bu policeler raporlar gibi işlemleri musteri tablosunda sütun açarak mı tutayım? Ama raporlar her ay yenilenecek Ocak ayı rapor şubat ayı rapor gibi.
Yada raporlar ve policeler diye tablo tutup oradamı tutayım ikinci söylediğim gibii yaparsam tablolar arası id ye göre ilişki kurmam gerekiyor sanırım. Bu şekilde yaparsam
(sorgu nasıl olmalı acaba?)
Yazarak bu kadar anlatabiliyorum inşallah anlatabilmişimdir,
Genel olarak Teamviewr üzerinden de yardımcı olabilecek mentor arkadaşlar olursa çok minnettar olurum.
Şimdide çok Teşekkürler.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
tablo oluşturarak yapman senin için daha iyi olacaktır. Örneğin
raporlar tablon en basit olarak şöyle olabilir
kolon | tur |
---|---|
rapor_id | int(11) |
rapor_musteri_id | int(11) |
rapor_tarih | varchar(255) |
aynı şekilde poliçeni de böyle tutabilirsin. Daha sonra sorgu yapıp personele atanmış müşterilerin raporlarını çekmek istediğinde şöyle bir sorgu yazacaksın;
SELECT * FROM raporlar
INNER JOIN musteriler ON musteriler.musteri_id = raporlar.rapor_musteri_id
WHERE musteriler.musteri_persone_id = 1 && rapor_tarih = '2020-01-01'
burada önemli olan musteriler
tablonda musteri_personel_id
gibi bir alanının olması. Müşteriyle hangi personel ilgileniyorsa o kişinin id'si bu alanda tutulacak ki bu şekilde bir eşleşme yapabilesin.
select ile yapabilirsin.
personel girişi yaparken session a personelin idsini veya kullanıcı adını gir.
<select name="musteri">
<option value="ahmet">Ahmet Selim</option>
<option value="mustafa">Mustafa Cihan</option>
<option value="elif">Elif Gizem</option>
<option value="gokce">Gökçe Deniz</option>
</select>
value
kısmına ister müşterinin kullanıcı adını gir ister müşteri idsini.
if(isset($_POST["musteri"])){
$pId = isset($_SESSION["pid"]) ? $_SESSION["pid"] : false;
$musteri_kadi = @$_POST["musteri"];
$kontrol = $db->prepare("SELECT * FROM musteriler WHERE musteri_persone_id = :musteri_persone_id && musteri_kadi = :musteri_kadi");
$kontrol->bindValue(':musteri_persone_id', $pId, PDO::PARAM_INT);
$kontrol->bindValue(':musteri_kadi', $musteri_kadi, PDO::PARAM_STR);
$varmi = $kontrol->execute();
if($varmi->rowCount()){
// kayıt işlemini yap
}else{
echo "Böyle bir müşteri yok yada sizin müşteriniz değil";
}
}