• 11-04-2013, 15:54:39
    #1
    Merhaba arkadaşlar,

    İki adet tablom var

    Tablo-1: urunler
    İçinde: l Id l l urunadi l l sirketId l

    Tablo-2: sirketler

    İçinde: l sirketId l l sirket_adi l


    Yapmak istediğim sayfaya Ürün adıyla birlikte Şirket adınıda yazdırmak.

    Diğer tablodan ürün sayfasında sirket adınıda nasıl yazdırabilirim? Teşekkürler.
  • 11-04-2013, 16:09:20
    #2
    $s = @mysql_query("select * from urunler as u, 
    left join sirketler as s on u.sirketID=s.sirketID");
    
    while($r = @mysql_fetch_assoc($s)):
    echo $r["urunadi"]." / ".$r["sirket_adi"]."\n";
    endwhile;
  • 11-04-2013, 17:14:34
    #3
    Cevap için Teşekkürler,

    ancak kodlarda bir hata olabilirmi? sayfaya eklediğimde sayfa gözükmüyor.
  • 11-04-2013, 17:19:33
    #4
    kodlarınızın en başına <?php den sonra
    error_reporting(1);
    ekleyerek hatayı görüntüleyebilirsiniz.
    Kodlarda bir hata yok ancak aşağıdaki gibi de bir deneyebilirsiniz.
    Kullandığınız apache / php versiyonuna bağlı bir hata olabilir.

    while($r = @mysql_fetch_assoc($s)){ 
    echo $r["urunadi"]." / ".$r["sirket_adi"]."\n"; 
    }
  • 11-04-2013, 18:00:07
    #5
    Kaplan adlı üyeden alıntı: mesajı görüntüle
    kodlarınızın en başına <?php den sonra
    error_reporting(1);
    ekleyerek hatayı görüntüleyebilirsiniz.
    Kodlarda bir hata yok ancak aşağıdaki gibi de bir deneyebilirsiniz.
    Kullandığınız apache / php versiyonuna bağlı bir hata olabilir.

    while($r = @mysql_fetch_assoc($s)){ 
    echo $r["urunadi"]." / ".$r["sirket_adi"]."\n"; 
    }
    Dediğin gibi yaptım ancak hata vermedi ancak herhangi bir veride göstermedi.

    Aşağıdaki kodu kullandığımda Tüm şirket isimlerini yazdırıyor.
    <?
    $sql = mysql_query("SELECT urunadi,sirket_adi FROM sirketler 
    LEFT JOIN urunler ON urunler.Id = sirketler.sirketId");
    while ($a = mysql_fetch_array($sql)){
    echo ''.$a[sirket_adi].'';      
    }
    ?>
    Ben sadece o ürüne ait kayıtlı şirket bilgisini çekmek istiyorum.

    Şöyle söyliyim,

    "urunler" tablosunda sirketId sutunu var. Bu sirketId leri gösterebiliyorum sayfada, ama bu sirketId leri rakam, şirket isimi olarakta yazdırmak istiyorum. Bu isimlerde diğer tablom olan "sirketler" tablosunda.
  • 11-04-2013, 18:09:24
    #6
    Önce yazmanız gereken sorgu ürünler ile ilgili olmalıdır. daha sonra left join right join yada inner join ile şirketler tablosunu çekip eşleştirmelisiniz.

    $sql = mysql_query("SELECT * FROM urunler
    LEFT JOIN sirketler ON urunler.SirketId = sirketler.sirketId");
    while ($a = mysql_fetch_array($sql)){
    echo ''.$a[sirket_adi].'';
    }
  • 12-04-2013, 12:44:17
    #7
    Kaplan adlı üyeden alıntı: mesajı görüntüle
    Önce yazmanız gereken sorgu ürünler ile ilgili olmalıdır. daha sonra left join right join yada inner join ile şirketler tablosunu çekip eşleştirmelisiniz.

    $sql = mysql_query("SELECT * FROM urunler
    LEFT JOIN sirketler ON urunler.SirketId = sirketler.sirketId");
    while ($a = mysql_fetch_array($sql)){
    echo ''.$a[sirket_adi].'';
    }
    Bu kodlarla çekiyorum ancak sirket_adi sutunundaki tüm verileri döküyor.
    Ben sayfada görüntülediğim urunId sine denk gelen sirket_adi ni yazdırmak istiyorum. Dünden beri bir türlü çözemedim.
  • 13-04-2013, 16:22:47
    #8
    Tamam sorunu cozdum,verdigin kodda ufak bir degisiklikle hallaldu. Cook tesekkurler.

    *Bir soruda sorsam?

    *Mantik olarak sql deki bir veriye karsilik gelen veriyi tabloya ekstra bir sutun acarak mi yazdirmak daha dogru olur yoksa bunun baska bir yolu varmi?

    Asagidakileri ornek olarak yaziyorum
    Tablomdaki veri
    01
    02
    03
    Olsun,*
    Tablomda olmayan ama yazdirmak istedigimde bunlara karsilik gelen
    Ocak
    Subat
    Mart
    Tabloya yeni bir sutun acmakmi yoksa farkli bir yolu varmidir?

    Tekrar tesekkurler.