merhaba arkadaşlar
elimde bir mysql tablosu var ve bu tabloda id,name ve parent alanları var.
benim yapmak istediğim bir elemanın parent değeri başka bir elemanın id değerine eşit ise elemanı eşit olduğu elemanın altına yazdırmak.
örnek:
*mali tablolar
-2005
--a
--b
-2006
-2007
*istatistikler
şekildeki gibi olsun istiyorum.
bi nevi alt kategori /alt menu sistemi
id ve parent değerlerini mysql den çekiyorum fakat karşılaştırılması yapamıyorum.
yardımcı olursanız çok sevinirim.
php ile alt menu/kategori sistemi hakkında yardım
4
●2.755
- 26-06-2007, 22:26:46
<?php $baglan=mysql_connect("localhost","***","***"); mysql_select_db("db",$baglan); function kategori($id){ $x1=mysql_query("select name from m_menu where parent='$id' and published='1' and menutype='leftmenu' order by ordering"); while($x2=mysql_fetch_array($x1)){ $sonuc.=$x2[name]; kategori($x2[id]); } return $sonuc; } ?>hocam boş beyaz ekran çıkıyor karşıma.
ama sql i phpmyadminden çalıştırınca ana kategorileri çekiyor.
alt kategorileri çekiceğimiz 2.ci döngü nasıl olacak peki? - 26-06-2007, 23:06:29hocam mantığı geç anladım ama çözdüm olayı.
ben aşağıdaki > karakterini koyan kodu kullandım.
function display_children($id, $parent) { $result = mysql_query("select id,parent,name from m_menu WHERE parent=".$id." and published=1 and menutype='leftmenu' order by ordering "); while ($row = mysql_fetch_array($result)){ echo str_repeat('>',$parent).$row['name']."<br>\n"; display_children($row['id'], $parent+2); } } display_children(0,0);