• 04-05-2009, 23:16:12
    #10
    senin mantigina göre şu olmalı.
    her öykü eklediginde tekrar yazarı eklemek. bu ne kadar mantikli olur bilmem.

    yani diyelim ahmet isimli bir yazar var. ID 15
    bunun öyküleride şunlar

    ID - isim
    15 - ayşe süt iç
    12 - ali ata bak
    19 - ali topu tut
    32 - oya ip atla

    burda sen yazarid ile üyküid i eşleştirirsen sadece ayşe süt içi çekersin.

    mantigi şu olabilir
    ahmet isimli bir yazar var. ID 15

    ID - yid - isim
    15 -15 - ayşe süt iç
    12 -15 - ali ata bak
    19 -15 - ali topu tut
    32 -15 - oya ip atla

    yid(yazar id kisa olsun die yid yazdim)

    yid diye yeni bir sütun tanimladik. buna yazarlar tablosundaki Ahmet yazarinin id sini verdik. o zaman ahmet yazarinin öykülerini şöyle cekeriz.

    SELECT * FROM oykuler WHERE yid='15'
  • 04-05-2009, 23:20:27
    #11
    3 mesajdır anlatmaya çalıştığımda bu umarım 4. de anlaşılır
  • 04-05-2009, 23:35:55
    #12
    Tamam.
    Şimdi şöyle oldu:
    Öyküler       yazarlar             yayinevi           turu
    id               id                     id                    id
    baslik          adsoyad            adi                   adi
    yayinevi      sira                   sira                  sira
    yazar
    yil
    turu
    Buna göre eklenen her içerik diğer tablolara da bir protokol numarası vermiş oluyor.

    Sıra geldi bu protokol numarasını kullanarak veriyi çekmeye.

    Ben sizi böyle anladım.
  • 04-05-2009, 23:43:32
    #13


    İşte bu...




    ...
  • 05-05-2009, 00:15:48
    #14
    Üyeliği durduruldu
    Arkadaşlar ilişkilendirilmiş tablo konusunu anlamadan tartışmaya girmek saçma olur.
    İlişkili tablo olması için birbirleri ile ilişkili alanlar olması ve bu ilişkilerin belli bir mantığa uygun düzenlenmesi lazım. ilgili tablolar şöyle düzenlenmeli
    Öyküler
    id
    baslik
    yil
    yayinevi_id
    yazar_id
    turu

    yazarlar
    id
    adsoyad
    hakkinda


    yayinevi
    id
    adi
    hakkinda


    Burada türü ile ilgili ayrıca bir tablo gereksiz
    ilişkilendirme ise öyküler altında net bir şekilde görülmektedir.
  • 05-05-2009, 00:27:10
    #15
    Fakat bir sorun bar bunda.
    OYKULER tablosu altında yazarın adını listeden seçiyorum ama sayı olarak yazıyor. Neden adını text olarak yazmıyor ?
  • 05-05-2009, 13:33:58
    #16


    Bu sorunum hâlâ sürüyor.
    Bir Öykü eklerken başlık, resim ID gibi şeyleri yazıyorum ve yazarını listeden seçiyorum. Aynı zamanda yayinevini de listeden seçiyorum. Hangi edebi tür olduğunu seçiyorum ve kaydediyorum.

    Yani resimde gösterdiğim gibi öyküler, yayinlar, türler, yazarlar diye tablolar var.

    İşte şimdi ben ana sayfaya son öyküleri çağırdığım zaman hangi tabloyu esas almışsam o tablonun verileri doğru geliyor, diğerlerini eşleştiremiyorum.

    Aşağıda bazı denemeleri gösterdim. İki tabloyu eşleştirebiliyoruz da daha fazlasını yapamıyorum.

    Anlayan olursa yardım bekliyorum arkadaşlar.
  • 05-05-2009, 13:38:56
    #17
    Burda JOIN devreye girer.
    Örnek:
    SELECT
     *,
     oykuler.ID AS oyku_ID,
     yazarlar.ID as yazar_ID
    FROM
     oykuler
    LEFT JOIN yazarlar ON
     yazarlar.ID = oykuler.yazar_ID
  • 05-05-2009, 13:50:47
    #18
    Hocam +rep valla Hızır gibi yetiştiniz.

    Mesela şu satırı buna göre benim için editleyebilir misiniz?

    <?
    	for($i=0;$i<4;$i++)
    		{
    	$veri=mysql_fetch_array( mysql_query("SELECT id, image, baslik, spot FROM oykuler WHERE yayin='E' ORDER BY tarih DESC LIMIT $i,1" , $link));
    ?>