• 05-05-2009, 23:42:53
    #28
    Üyeliği durduruldu
    arkadaşım,
    Önceki mesajına geç cevap verdiğim için kusura bakma.
    Son kodlamanızda birşeyler yazdırsanız da oluşturduğunuz 4 tablo ile, bu tabloları paralel olarak tek tabloda birleştirmek arasında bir fark yok. çünkü id ler hepsinde aynı.
    Bu da anlamsız bir ilişkili veritabanı(relational database) demektir.

    Tablo alanlarını daha önce belirttiğim şekilde yaptıysanız kodlar konusunda yardımcı olayım. Fakat bu ilişkili tablo olayını önce iyice sindirerek anlamanızı tavsiye ederim.
  • 05-05-2009, 23:47:54
    #29
    Üyeliği durduruldu
    ilişkili tablolar ile ilgili bir web sayfası sizin için buldum.

    KOODLA | BLOG mysql MySQL’de “join” kullanımı

    umarım işinize yarar. Takıldığınız bir yer olursa yardımcı olurum.
  • 05-05-2009, 23:49:07
    #30
    Her tablo için ayrı ayrı sorgu oluşturmak yerine LEFT JOIN örneklerine bakın derim. Size verdiğim SQL koduda çalışıyor ama bir yerde kesin hata yapmışsınızdır. Daha öncede bu tarz denemeler yapmıştım.
  • 05-05-2009, 23:57:49
    #31
    huseyin66 adlı üyeden alıntı: mesajı görüntüle
    ilişkili tablolar ile ilgili bir web sayfası sizin için buldum.
    KOODLA | BLOG mysql MySQL’de “join” kullanımı
    umarım işinize yarar. Takıldığınız bir yer olursa yardımcı olurum.
    Çok teşekkür ediyorum.
    Yarın +rep'inizi unutmayacağım.

    Bu ders çok işime yarayacak.

    mustafa90 arkadaşım da çok emek verdi bugün, +rep gönderdim, teşekkürlerimi tekrar sunuyorum. Tüm diğer arkadaşlara da teşekkürler.
    Bu dersi yarın iyice okur öğrenirim.
    Saygılar
  • 06-05-2009, 00:01:03
    #32
    Üyeliği durduruldu
    SELECT
     oykuler.id,  oykuler.image, oykuler.baslik, oykuler.spot, oykuler.yazar_id, 
     yazarlar.adsoyad,
    FROM
     oykuler
    LEFT JOIN yazarlar ON oykuler.yazar_id = yazarlar.id
    LEFT JOIN yazarlar ON oykuler.yazar_id = yazarlar.id
    WHERE
     oykuler.yayin='E'
    ORDER BY
     oykuler.tarih DESC
    LIMIT $i,1

    AŞAĞIDAKİ BİRAZ KONUYU AÇIYOR.


    SELECT ...
    FROM table 1 
    LEFT JOIN table 2 on (table1.id = table2.id)
    LEFT JOIN table 3 on (table1.id2 = table3.id2)
    LEFT JOIN table 4 on (table1.id3 = table4.id3)
  • 06-05-2009, 00:02:48
    #33
    Üyeliği durduruldu
    janocan adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ediyorum.
    Yarın +rep'inizi unutmayacağım.
    Bu ders çok işime yarayacak.
    mustafa90 arkadaşım da çok emek verdi bugün, +rep gönderdim, teşekkürlerimi tekrar sunuyorum. Tüm diğer arkadaşlara da teşekkürler.
    Bu dersi yarın iyice okur öğrenirim.
    Saygılar
    Yardımcı olabildiysem ne mutlu bana. Eğer çalışmazsa bana yazdığınız kodu gönderirsiniz, üzerinde çalışma yaparız. Kolay gelsin.
  • 06-05-2009, 14:15:52
    #34
    Bu şekilde hem hata vermiyor hem de sonucu yazmıyor. Sadece şehrin adını yazmaya çalışıyorum. Tablo adları ve satır adları kesinlikle doğru.

    Hata nerede olabilir?

    <? require("configuration.php"); ?>
    <?
    	$sql="SELECT kitaplar.yazarid, yazarlar.ad
    	FROM kitaplar 
    	INNER JOIN yazarlar ON kitaplar.yazarid = yazarlar.ad
    	WHERE kitaplar.id='$id'";
    	$sorgu=mysql_query($sql, $link);
    	$data=mysql_fetch_array($sorgu);
    	$sql="UPDATE kitaplar.hit SET hit='".++$data[hit]."' WHERE kitaplar.id=$data[id]";
    	$sorgu=mysql_query($sql, $link);
    ?>
    
    <tr><td><b>İl</b></td><td>&nbsp;:&nbsp;</td><td><?echo stripslashes($data[0]);?></td></tr>
  • 06-05-2009, 14:43:49
    #35
    Çözdüm, doğrusu şu olacak:

    <? require("configuration.php"); ?>
    <?
    	$sql="SELECT kitaplar.yazarid, yazarlar.ad
    	FROM kitaplar 
    	INNER JOIN yazarlar ON kitaplar.yazarid = yazarlar.id
    	WHERE kitaplar.id='$id'";
    	$sorgu=mysql_query($sql, $link);
    	$data=mysql_fetch_array($sorgu);
    	$sql="UPDATE kitaplar.hit SET hit='".++$data[hit]."' WHERE kitaplar.id=$data[id]";
    	$sorgu=mysql_query($sql, $link);
    ?>
    <tr><td><b>İl</b></td><td>&nbsp;:&nbsp;</td><td><?echo stripslashes($data[0]);?></td></tr>
    ON kitaplar.yazarid = yazarlar.ad olmayacak
    ON kitaplar.yazarid = yazarlar.id olacak
    Çünkü eşleşenler id'lerdir.

    Bu arada dersimi de bugün iyi anladım.
    Çok sağol huseyin66
    Bir +rep daha göndereceğim size
    ...