v2.5.2
Giriş yap

2 Tablodan veri eşleştirip çekme işlemi

smile
463 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Ö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.

Cevap yaz
Cevaplar (3)
tayfunerbilen
1482 gün önce

tablo oluşturarak yapman senin için daha iyi olacaktır. Örneğin

raporlar tablon en basit olarak şöyle olabilir

kolontur
rapor_idint(11)
rapor_musteri_idint(11)
rapor_tarihvarchar(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.

makifgokce
1482 gün önce

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";
    }
}
smile
1482 gün önce

Peki; rapor yada poliçe eklediğimde müşteri selectboxu ekleyip orada hangi müşteriye eklemek istediğimimi seçmem gerekli?

oradaki algoritmayı nasıl kurmalıyım?