• 08-03-2009, 18:01:05
    #19
    En basit ve performanslı sınırsız kategori sisteminin SQL'i şu şekilde olmalıdır.

    ID | SUB | KAT_ADI
    1 | 0 | Oyunlar
    2 | 1 | Assasin's Creed
    3 | 0 | Makaleleler
    4 | 3 | PHP Makaleleri
  • 12-03-2009, 09:37:08
    #20
    Zampirin mantığı favorimdir. Çok esnek ..
  • 12-03-2009, 09:49:16
    #21
    Üyeliği durduruldu
    mally328 adlı üyeden alıntı: mesajı görüntüle
    Zampirin mantığı favorimdir. Çok esnek ..
    esnek derken kısa bir örnek verebilirmisin..?

    esneklik anlamında ne artıları var mesela..?

    benim anladığım kadarı ile daha sonradan eklenen kategori veya alt kategoriler sorun vermiyor anlamında mı?
  • 12-03-2009, 09:56:39
    #22
    Üyeliği durduruldu


    resimde görünen tablodaki kategorileme sistemi sağlıklımıdır..

    ve bunu açılır menu gibi çıktısını nasıl alabiliriz..
  • 12-03-2009, 10:54:02
    #23
    iki tablo degilde tek tabloda da olabilir aslında.
    kat_id | alt_kat_id | sef_adi | kat_adi

    ana kategoriyse alt_kat_id boş geçersin, alt kategoriyse kat_id sine göre veri atarsın.
  • 12-03-2009, 11:04:17
    #24
    Üyeliği durduruldu
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    iki tablo degilde tek tabloda da olabilir aslında.
    kat_id | alt_kat_id | sef_adi | kat_adi
    ana kategoriyse alt_kat_id boş geçersin, alt kategoriyse kat_id sine göre veri atarsın.

    sef_adi ne oluyor anlamadım..
  • 12-03-2009, 11:24:11
    #25
    Eposta Aktivasyonu Gerekmekte
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `parent_id` int(11) NOT NULL DEFAULT '0',
    `title` varchar(50) NOT NULL,


    parent_id -> alt kategori numarası, default 0 atanır. Bu değeri 0 olan kategoriler dolayısıyla ana kategori olur. Örnek sorgu:

    $result = "SELECT * FROM tablo parent_id=0";
    while ($row = mysql_fetch_array($result)) {
     echo $row[title];
     $result_sub = "SELECT * FROM tablo parent_id=".$row[id]." ";
     while ($row_sub = mysql_fetch_array($result_sub)) {
      echo $row_sub[title];
     }
    }
  • 12-03-2009, 11:29:30
    #26
    Üyeliği durduruldu
    taylanaktepe adlı üyeden alıntı: mesajı görüntüle
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `parent_id` int(11) NOT NULL DEFAULT '0',
    `title` varchar(50) NOT NULL,

    parent_id -> alt kategori numarası, default 0 atanır. Bu değeri 0 olan kategoriler dolayısıyla ana kategori olur. Örnek sorgu:
    $result = "SELECT * FROM tablo parent_id=0";
    while ($row = mysql_fetch_array($result)) {
     echo $row[title];
     $result_sub = "SELECT * FROM tablo parent_id=".$row[id]." ";
     while ($row_sub = mysql_fetch_array($result_sub)) {
      echo $row_sub[title];
     }
    }
    verdiginiz kodda klasik dizi hatasi mevcut

    https://www.r10.net/php/322923-dizi-k...-yaklasim.html
  • 12-03-2009, 12:05:03
    #27
    mizraklar adlı üyeden alıntı: mesajı görüntüle
    sef_adi ne oluyor anlamadım..
    belki eklerken fantazi olsun diye kategori adını Webmaster yazıp sef linki için de wapmaster gibi yazmak isteyenler olursa filan diye , genelde konu başlıkları olsun kategoriler olsun , link yapısını da düzenlenebilir yapıyorumda
    ordan alışkanlık