• 12-12-2019, 11:37:56
    #1
    Selamlar,

    MSSQL üzerinde bağlantı kurabildim "STOKKART" ile kartları listeleyebiliyorum fakat farklı bir Tablo da bulunan STOKFIYAT üzerinden listeleyip yanlarına fiyatları alamadım ,
    tek bir kayıt sadece geliyor bu tek kayıt yanına fiyatıda çekebiliyorum fakat tüm stokkart listesi gelmiyor yardımcı olabilirseniz çok sevinirim.

    <?php
    
        $server = "SERVER";
        $database = "DB100";
        $kullaniciadi = "sa";
        $sifre = "sasa";
    
        try {
             $baglan = new PDO("sqlsrv:Server=$server;Database=$database", $kullaniciadi, $sifre);
        } catch ( PDOException $e ){
            echo $e->getMessage();
            
            
        }
        
        
        /*
    if ($baglan) {
    echo "Bağlantı Başarılı<br>";
    }else {
    echo "Başarısız<br>";
    }*/
           
    
    
            $data = $baglan -> query("SELECT * FROM STOKKART")->fetchAll();
    
    foreach ($data as $item)
            
    
             $data2 = $baglan -> query("SELECT * FROM STOKFIYAT WHERE Stok_ID=".$item["Stok_ID"]."");
    
            foreach ($data2 as $item2)
    
             echo $item["Stok_Ad"]." <b>Fiyat : ".$item2["Ana_Birim_Fiyat"]."</b></br></br>";
    
        
    ?>
  • 12-12-2019, 11:40:17
    #2
    Kullanım çok yanlış. Sorgunun JOIN ile yazılması gerek. Tablo yapısını gönderirseniz yardımcı olayım
  • 12-12-2019, 11:44:36
    #3
    CihanAksoy adlı üyeden alıntı: mesajı görüntüle
    Kullanım çok yanlış. Sorgunun JOIN ile yazılması gerek. Tablo yapısını gönderirseniz yardımcı olayım
    Teşekkürler , tablo yapısı bu şekilde Cihan bey

  • 12-12-2019, 11:45:04
    #4
    SELECT * FROM STOKKART LEFT OUTER JOIN STOKFIYAT ON STOKFIYAT.Stok_ID=STOKKART.Stok_ID

    olarak denersen tek sql ile iki tabloyuda birleşmiş bir şekilde alırsın
  • 12-12-2019, 11:46:37
    #5
    bazokka adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM STOKKART LEFT OUTER JOIN STOKFIYAT ON STOKFIYAT.Stok_ID=STOKKART.Stok_ID

    olarak denersen tek sql ile iki tabloyuda birleşmiş bir şekilde alırsın
    LEFT JOIN kullandığında fiyat olmasada veriyi çeker. Arkadaş fiyatsız ürün çekmek isteyeceğini düşünmüyorum.

    SELECT * FROM STOKKART INNER JOIN STOKFIYAT ON STOKFIYAT.Stok_ID=STOKKART.Stok_ID daha doğru bir kullanım olur
  • 12-12-2019, 11:47:36
    #6
    join kullanmalısın
    örnek
    $sql=select * from stokkart left join stokfiyat on stokkart.id=stokfiyat.stokid; gibi
  • 12-12-2019, 12:45:02
    #7
    teşekkür ederim yardımlarınız için