Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
1017
Tıklama
0
Öne Çıkarma
Sınırsız Kategori ve O Kategoriye Ait Alt Kategorilerin Ürünlerini Gösterme
C
11 yıl (43 mesaj)
Çavuş
Konu Sahibi

Arkadaşlar İstediğim Şeyi Bir Türlü yapamadım Phpde Çok Yeniyim Yeni Yeni Başlıyorum Örnek Veriyorum Bir kategoriler Tablom var

katid kat_adi ust_id

verileri bu şekilde çekiyorum ama şöyle bir sorum var örnek veriyorum kategori id si 1 olan bir kategorinin 2 tane alt kategorisi var diyelim ben ana kategoriye tıkladığımda o kategoriye ait tüm alt kategorilerin ürünlerini listelemek istiyorum bir türlüde yapamadım

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



C
11 yıl (43 mesaj)
Çavuş
Konu Sahibi

Arkadaşlar Yokmu Yardım Edebilecek Kafayı Yicem Beynim Yandı Yaw :(


Bu mesaja 1 cevap geldi.
R
11 yıl (1369 mesaj)
Teğmen

Peki bir kategori içindeki altkategorilerin de alt kategorileri olabilecek mi yani kategoriler iç içe girebiliyormu sınırsız şekilde


Bu mesaja 1 cevap geldi.
C
11 yıl (43 mesaj)
Çavuş
Konu Sahibi

Hocam Cevap Verdiğin İçin Teşekkür Ederim Şimdi Kodlar Aşşağıda Bu Kodlarıda Forumda Bir Arkadaştan Aldım Araştırırken Sınırsız Şekilde Kategori Olayı Yapıyor Onda bi sorunum yok ama dediğim gibi mesela ana kategoriye tıkladığım zaman altındaki bütün kategorilerin ürünlerini bana listelesin istiyorum İlgiliniz için Tşeekkür Ederim.

<?php

// Kategoriye Ait Tüm Alt Kategorileri String Olarak Dönüdür
function listele($sayfalar , $ebeveyn = 0 , $i = 0 , $menuler = NULL , $nested = FALSE )
{

// Sayfalar Boşşa boş döndür.
if(empty($sayfalar))
return;


// Eğer fonksiyon içinden çağırılmıyorsa
if (!$nested)
{
// Sayfaları ebeveyn idsi ile yeni dizi oluştur
foreach($sayfalar as $row):
$items[$row['']][] = $row;
endforeach;
}
else
{
// Nested ise gelen sayfaları al
$items = $sayfalar;
}

// Gelen sayfaları aç
foreach($items[$ebeveyn] as $sayfa)
{

// Menuleri değişkene aktar
$menuler .=''. $sayfa['kategori_id'];

// Açılan menude bir alt sayfa var ise nested çağır
if (isset($items[$sayfa['kategori_id']]))
$menuler = listele($items , $sayfa['kategori_id'] , ($i+1) , $menuler , TRUE);

}

// Oluşan menüleri return et
return $menuler;
}




function kat_listele($sayfalar , $ebeveyn = 0 , $kademe_pixel = 5 , $i = 0 , $menuler = NULL , $nested = FALSE )
{

// Sayfalar Boşşa boş döndür.
if(empty($sayfalar))
return;


// Eğer fonksiyon içinden çağırılmıyorsa
if (!$nested)
{
// Sayfaları ebeveyn idsi ile yeni dizi oluştur
foreach($sayfalar as $row):
$items[$row['ust_kategori_id']][] = $row;
endforeach;

}
else
{
// Nested ise gelen sayfaları al
$items = $sayfalar;
}

// Gelen sayfaları aç
foreach($items[$ebeveyn] as $sayfa)
{
// Boşluk hesapla
$bosluk = str_repeat(' ',($i*$kademe_pixel));

// Menuleri değişkene aktar
$menuler .= '<li><a href="';

if (!empty($GLOBALS["kat_list"][$sayfa['kategori_id']])){
$menuler .=$GLOBALS["kat_list"][$sayfa['kategori_id']];
}else{
$menuler .= "kategori.php?id=".$sayfa['kategori_id'];
}

$menuler .='">'.$sayfa[''].''.$sayfa['kategori_adi'].'</a>'.PHP_EOL;

// Açılan menude bir alt sayfa var ise nested çağır
if (isset($items[$sayfa['kategori_id']]))
{
$menuler .= '<ul>'.PHP_EOL;
$menuler = kat_listele($items , $sayfa['kategori_id'] , $kademe_pixel , ($i+1) , $menuler , TRUE);
$menuler .= '</ul>'.PHP_EOL;
}

$menuler .= '</li>'.PHP_EOL;
}

// Oluşan menüleri return et
return $menuler;
}

// Kategori Listesini Al
$sql_kategori=mysql_query("SELECT * FROM ai_kategoriler ORDER BY kategori_adi ASC");
$kategori_list=array();
$i=0;
while($row_kategori=mysql_fetch_object($sql_kategori)){
$kategori_list[$i]['kategori_id']=$row_kategori->kategori_id;
$kategori_list[$i]['kategori_adi']=$row_kategori->kategori_adi;
$kategori_list[$i]['ust_kategori_id']=$row_kategori->ust_kategori_id;
$i++;
}


// Kategoriye ait tüm alt kategorileri topla
$AltKategoriList=array();

foreach($kategori_list as $kategori_ID){
$AltKategoriList[$kategori_ID['kategori_id']]=listele($kategori_list,$kategori_ID['kategori_id']);
}


// $AltKategoriList arrayını $Global yap
$GLOBALS["kat_list"]=$AltKategoriList;




echo ''.kat_listele($kategori_list).'';

?>


Bu mesaja 1 cevap geldi.
C
11 yıl (43 mesaj)
Çavuş
Konu Sahibi

Arkadaşlar yokmu bi önerisi olan ? yardım edebilecek olan farklı bir sistem dene diyecek olan yardım edin


Bu mesaja 1 cevap geldi.
C
11 yıl (43 mesaj)
Çavuş
Konu Sahibi

Koskoca forumda bi yardım eden bilen yokmu arkadaşlar ?



O
11 yıl (18 mesaj)
Onbaşı

Arkadaşım sinirsiz kategori ve alt kategori olusturmayla ilgili basit gayet anlaşılır doküman var suan telefondan giriyorum yarın dokümanları atarım incelersin...



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
C
11 yıl (43 mesaj)
Çavuş
Konu Sahibi

Bekliyorum Kardeşim Sağolasın Yani Mantık Olarak İstediğin Şey Eklediğim Kategorinin Alt Kategorileri Olucak Yanlız Alt Kategoriye Ürün Eklediğimde Ana Kategorisine Tıkladığım Zmaan Altındaki Tüm Kategorilerin Ürünlerini Listeleyecek İstediğim Bu Ama Kafam Karışıp Duruyor Şimdi Ana kategori id si : 11 olan bir kategorinin alt kategorisinin üst id si :11 oluyor ürünü eklerken ben alt kategorinin kategori id sini göstererek ekletiyorum böylelikle ana kategorisinin idsi farklı olduğu için ürünleri listeletmiyor çarşı pazar karıştı bende bi yardım edin :D mantık söyleyin :D



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.