• 03-12-2012, 15:28:04
    #1
    merhaba arkadaşlar, bir konuda alternatif fikirlere ihtiyacım var.

    kısaca anlatayım;

    bir tablom var, ismi "icerik" olsun. bu içerik tablosuna eklenen verilerin bir de "kategori" bölümü olsun. normal şartlarda bir içerik bir kategoriye ait olursa işimiz kolaydır, zira o kategorinin id sini yazmakla işimiz biter.

    fakat benim şimdi kodlamam gereken sistemde bu biraz farklı olacak. icerik tablosuna eklenen verinin birden fazla kategoriye ait olma durumu var.

    benim düşündüğüm yöntem şöyle;

    icerik tablosundaki kategori sütununa id'leri (örneğin : 3,5,7) belirli bir ayraç ile yazmak; 3|5|7.

    bu durumda çağırırken de like ile çağırabiliriz.


    ya da

    3. bir tablo oluşturup adına "icerikkategori" diyip eklenen icerik icin buraya kategorileri satır satır yazdırmak da bir çözüm.


    bu durumda siz nasıl bir yol izerdiniz? daha performanslı bir yapı nasıl oluşturabilirim?
  • 03-12-2012, 15:46:23
    #2
    Üyeliği durduruldu
    SELECT * FROM icerik WHERE kategori IN('1','2','3')
  • 03-12-2012, 15:51:48
    #3
    Nyks adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM icerik WHERE kategori IN('1','2','3')
    eyvallah hocam ama yanlış anlamışsın tek sorguda birden fazla kategoriye ait olan verileri çekmek değil benim sorunum.

    bir verinin birden fazla kategoriye ait olmasını nasıl yaparız?
  • 03-12-2012, 15:54:14
    #4
    herzaman

    " 3. bir tablo oluşturup adına "icerikkategori" diyip eklenen icerik icin buraya kategorileri satır satır yazdırmak da bir çözüm."

    bu cümle ile kastettiğinizi seçerim.

    Sadece ben değil, wp de böyle yapıyor.
  • 03-12-2012, 15:57:41
    #5
    Üyeliği durduruldu
    yapılan işlemin kullanılacağı alan ile wp yi kıyaslamayın bence wordpress esnek yapı olması için böyle bir yöntem izliyor, etiketler de aynı alana giriş yapar, diğer taxonomy ler de ama sadece kategori ise sıkıntı
    '1','2','3' olarak girmeniz db ile bağlantı sürenizin daha kısa olması demektir. wordpress gibi yaparsanız eğer her post için fazladan yeni bir sorgu anlamına geliyor
  • 03-12-2012, 16:00:43
    #6
    e böyle yaparak her bir makale için explode yaparak kategori id'yi alacaksın ve her eleman için kategori tablosundan seçim yapacaksın. JOIN ya da kartezyen çarpım yapma ihtimalin de yok.
  • 03-12-2012, 21:22:02
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    senin ve miscel hocanında dediği gibi 3. Tablo daha iyi olur Çözüme ulaşmak için.
    ilerde kategoriyi silmen gerektiği durumlarda bu 3. Tablo sayesinde iceriği kolaylıkla ilgili kategoriden cikarabilir veya baska kategoriye taşıyabilirsin