• 10-06-2014, 12:24:53
    #1
    Merhaba arkadaşlar,

    Aşağıdaki linkte sol taraftaki vertical Ürün Kategorileri mantığını bir türlü çözemedim.
    http://www.eksenbilgisayar.com/kategori/bilgisayar.aspx

    Ana kategoriyi (örnek -Bilgisayar) tıklandığında hem tüm ana kategoriler aynı şekilde geliyor hemde sadece seçilen kategorinin alt kategorileri açılıyor.

    Ben bir sürü örnek denedim, kategori ve alt kategorileri sıralıyorum bunda problem yok yukarıdaki örnekte ki gibi kategorilemede çözüme ulaşamadım. (Çözüme en yakın olan jquary acordion menu olmasını istemiyorum çünkü ana kategoriyi tıkladığımda o ana kategorinin ürünleride gelicek)

    Tablom: "kategoriler"
    id l kategori_adi l ust_kategori l

    Bu kategorilemeyi PHP ile nasıl yapabiliriz?

    Teşekkrüler.
  • 10-06-2014, 12:28:36
    #2
    bir proje için bunun için tam bir gün uğraştım

    sonuçta yaptım ama burdan nasıl anlatılır bilmiyorum fonksiyon yaratıp döngünün içinde bu fonksiyonu kullanmanız gerekiyor. biraz karışık gerçekten
  • 10-06-2014, 12:41:17
    #3
    U_uR adlı üyeden alıntı: mesajı görüntüle
    bir proje için bunun için tam bir gün uğraştım

    sonuçta yaptım ama burdan nasıl anlatılır bilmiyorum fonksiyon yaratıp döngünün içinde bu fonksiyonu kullanmanız gerekiyor. biraz karışık gerçekten
    Bende epeyce uğraştım ama çözüme ulaşamadım.

    Yapmış olduğun çalışmanın örneğini paylaşma durumun olabilirmi? Hem ben öğrenmiş olurum, hemde istersen yaptığım çalışmayı burada da paylaşırız (başka arkadaşların daihtiyacı olabilir)

    Teşekkürler.
  • 10-06-2014, 12:53:07
    #4
    Kodları paylaşmam etik olmaz çünkü parayla sattığım bir projedir kendisi.

    fakat mantığını anlatmaya çalışayım.


    ilk önce gelen id 5 olarak cvarsayalım

    sorgu çalıştırarak 5 in içindeki ürünleri listeliyosun.. daha sonra 5 in alt kategorilerini listelemek için..

    bir fonksiyon oluşturuyosun fonksiyona categori id (5) yi gönderiyosun
    deneme($gelenid) {
    fonksiyonun içinde şöyle bir sorgu olacak gönderdiğin idnin daha üstünde bir id var mı diye bakacak.
    $sorgu51=mysql_query("SELECT * from categories where ustcatid= '$gelenid'");
    $varyok=mysql_num_rows($sorgu51);
    if ($varyok!=0){ [B]//yani üst kategorisi varsa [/B]
    while($satir51=mysql_fetch_assoc($sorgu51)){
    $catid=$satir51["catid"]; // o kategorinin idsini alacak
    $sorgu52=mysql_query("SELECT * from products where catid= '$catid'"); //o kategorideki ürünleri listelicek 
    }
    bu tarz bişeyler kurcalayarak deneme yanılmayla tam sonuca ulaşabilirsin diye düşünüyorum..

    birde ben direk yazdırmak yerine yazdıracağım ürünlerin id sini bir diziye atmıştım bu şekilde daha kolay olmuştu. Daha sonra o dizideki elemanları döngüye sokarak yazdırmıştım.
  • 10-06-2014, 13:02:34
    #5
    U_uR adlı üyeden alıntı: mesajı görüntüle
    Kodları paylaşmam etik olmaz çünkü parayla sattığım bir projedir kendisi.

    fakat mantığını anlatmaya çalışayım.


    ilk önce gelen id 5 olarak cvarsayalım

    sorgu çalıştırarak 5 in içindeki ürünleri listeliyosun.. daha sonra 5 in alt kategorilerini listelemek için..

    bir fonksiyon oluşturuyosun fonksiyona categori id (5) yi gönderiyosun
    deneme($gelenid) {
    fonksiyonun içinde şöyle bir sorgu olacak gönderdiğin idnin daha üstünde bir id var mı diye bakacak.
    $sorgu51=mysql_query("SELECT * from categories where ustcatid= '$gelenid'");
    $varyok=mysql_num_rows($sorgu51);
    if ($varyok!=0){ [B]//yani üst kategorisi varsa [/B]
    while($satir51=mysql_fetch_assoc($sorgu51)){
    $catid=$satir51["catid"]; // o kategorinin idsini alacak
    $sorgu52=mysql_query("SELECT * from products where catid= '$catid'"); //o kategorideki ürünleri listelicek 
    }
    bu tarz bişeyler kurcalayarak deneme yanılmayla tam sonuca ulaşabilirsin diye düşünüyorum..

    birde ben direk yazdırmak yerine yazdıracağım ürünlerin id sini bir diziye atmıştım bu şekilde daha kolay olmuştu. Daha sonra o dizideki elemanları döngüye sokarak yazdırmıştım.
    Tamam bu mantıkla deneme yanımlayla yapmaya çalışıcam, sonuçları paylaşırım.
  • 10-06-2014, 13:05:00
    #6
    Tamamdır hocam kolay gelsin bi deneyin biraz hem deneme yanılmayla sistemi tam anlamış oluyosunuz mantığını kavramış oluyosunuz bu yüzden kendiniz içinde iyi olur hazır koddan ziyade
  • 11-06-2014, 10:47:10
    #7
    U_uR adlı üyeden alıntı: mesajı görüntüle
    Tamamdır hocam kolay gelsin bi deneyin biraz hem deneme yanılmayla sistemi tam anlamış oluyosunuz mantığını kavramış oluyosunuz bu yüzden kendiniz içinde iyi olur hazır koddan ziyade
    Epeyce uğraştım ama bir türlü çözüme ulaşamadım

    Eğer sizin içinde uygunsa ücreti karşılığında bu menüyü yaptırmak isterim. Tabi müsaitseniz
  • 11-06-2014, 12:16:37
    #8
    hocam team viewer varsa pmden bilgileirni gönderin bir bakayım