• 15-11-2018, 07:12:00
    #1
    Her Zaman Daha İyisi
    Merhaba arkadaşlar,
    2 farklı tablodan birbiri ile eşleşen tablo değerlerini toplatmak istiyorum.

    Yani şöyle açıklayayım;

    "siparisekle" adında bir tablom var stunları:
    id
    adsoyad
    kod
    fiyat

    "oturum" adında başka bir tablam var stunları:
    oturumid
    eposta
    sifre
    kuladi

    şimdi "oturum" adındaki tabloma kayıt oluşturulunca otomatik düşüyor. ve ben bunu session ile çekiyorum sayfalara, amacım şu ki "kullanici1", "kullanici2","kullanici3" adında 3 tane üyemiz olsun.

    "kullanici1" kişisi üye olduktan sonra siteye giriş yapınca kayıttaki girdiği "kuladi" tablosuna düşen değer ile "kod" tablosundaki düşen değerlerden eşleşenlerin sayısını toplayıp bir ekranda yazdırmak istiyorum. Ben dilerseniz yaptığımı göstereyim arkadaşlar hata vermiyor ama sıfır olarak gösteriyor değeri yardımcı olursanız çok sevinirim.

     
    <?php 
                      $bul = mysql_query("select * from siparisekle f LEFT JOIN oturum a ON id = oturumid WHERE saticikodu='".$_SESSION["kuladi"]."'");
                      $toplam = mysql_num_rows($bul);
                      echo "{$toplam}";
                      ?>
    Not: session start ve diğer bilgileri çektiriyorum onda problem yok ama bu gösterimi beceremedim.
  • 16-11-2018, 19:42:00
    #2
    <?php  
    $bul = mysql_query("select f.id from siparisekle f LEFT JOIN oturum a ON f.id = a.oturumid WHERE saticikodu='".$_SESSION["kuladi"]."'"); 
    $toplam = mysql_num_rows($bul); 
    echo $toplam; 
    ?>
  • 19-11-2018, 00:22:54
    #3
    Her Zaman Daha İyisi
    trgino adlı üyeden alıntı: mesajı görüntüle
    <?php  
    $bul = mysql_query("select f.id from siparisekle f LEFT JOIN oturum a ON f.id = a.oturumid WHERE saticikodu='".$_SESSION["kuladi"]."'"); 
    $toplam = mysql_num_rows($bul); 
    echo $toplam; 
    ?>
    Hocam dediğiniz gibi yaptım hata vermiyor fakat 0 gösteriyor hep toplamı neden acaba ? (Satıcı kodu ve kullanıcı adının aynı olduğu satırlar olduğu halde)
  • 19-11-2018, 23:53:42
    #4
    where saticikodu
    buradaki saticikodu hangi tablodan geliyorsa onun alias ı başına koyun çalışacaktır. oturum tablosundan ise a.saticikodu siparisekle tablosundan ise f.saticikodu olarak
    join kullanımlarında tablo adı istenilen veya tanımlanan değerin başına alias olarak veya direk tablo adı olarak gelmelidir.

    genel bilgi olarak vereyim
    select id from tablo where deger=1
    olarak bir sorgumuz var diyelim mysql bunu
    select tablo.id form tablo where tablo.deger=1 olarak algılayıp ona göre işlem
    birden çok tablo işin içine girince de hangi degerin hangi tablodan geldiğininin belirtilmesi gerekir.