Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
cara membuat menu multi level
pagi om, saya mau tanya om cara membuat menu multi level gmn ya om..?saya sudah ada menu dengan alur seperti ini
Menu 1 - Menu 2 - Menu 3 ( menu utama)
menu 1.1( nah yg saya mau ketika kursor ke menu 1.1 keluar menu lagi misal menu 1.1.1)
ini potongan code nya om
// query menu utama
$querymenu = "SELECT * FROM menu WHERE id_parent='0' AND aktif='Y'";
$hasilmenu = mysqli_query($konek, $querymenu);
while ($r=mysqli_fetch_array($hasilmenu)) {
echo "<li><a href=\"$d[alamat_website]/$r[link]\">$r[nama_menu]</a>";
// query submenu
$querysubmenu = "SELECT * FROM menu WHERE id_parent='$r[id_menu]' AND aktif='Y'";
$hasilsubmenu = mysqli_query($konek, $querysubmenu);
$jumlah = mysqli_num_rows($hasilsubmenu);
// apabila ada submenu
if ($jumlah > 0){
echo "<ul>"; // <ul> untuk submenu
while($w=mysqli_fetch_array($hasilsubmenu)){
echo "<li><a href=\"$d[alamat_website]/$w[link]\">$w[nama_menu]</a></li>";
}
echo "</ul>";
}
echo "</li>";
}
mohon bantuannya om..makasih
Comments
id | parent | menu | enable
1 | 0 | A | 1
2 | 0 | B | 1
3 | 1 | A.1 | 1
4 | 2 | B.1 | 1
5 | 1 | A.2 | 1
6 | 1 | A.3 | 1
7 | 0 | C | 1
8 | 7 | C.1 | 1
9 | 7 | C.2 | 1
10 | 2 | B.2 | 1
11 | 5 | A.2.1 | 1
12 | 5 | A.2.2 | 1
13 | 8 | C.1.1 | 1
14 | 8 | C.1.2 | 1
15 | 8 | C.1.3 | 0
16 | 11 | A.2.1.1 | 1
17 | 11 | A.2.1.2 | 1
18 | 11 | A.2.1.3 | 1
19 | 14 | C.1.2.1 | 1
20 | 14 | C.1.2.2 | 1
21 | 14 | C.1.2.3 | 1
22 | 14 | C.1.2.4 | 1
23 | 17 | A.2.1.2.1 | 1
24 | 17 | A.2.1.2.2 | 1
25 | 0 | D | 0
26 | 0 | E | 0
27 | 23 | A.2.1.2.1.1 | 1
28 | 27 | A.2.1.2.1.1.1 | 1
29 | 28 | A.2.1.2.1.1.1.1 | 1
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$c=array();
$s='{0}';
$q=mysql_query('SELECT * FROM `menu` WHERE `enable`=1 ORDER BY `parent`,`id`');
while($r=mysql_fetch_array($q)) {
$t='';
if(!isset($c[$r['parent']])) {$t='<ul>';$c[$r['parent']]='{'.$r['parent'].'}';}
$s=str_replace('{'.$r['parent'].'}',$t.'<li>'.$r['menu'].'{'.$r['id'].'}</li>{'.$r['parent'].'}',$s);
}
$s=str_replace($c,'</ul>',$s);
$s=preg_replace('/\{\d+\}/','',$s);
echo $s;
?>
sudah jadi ...
<ul>
<li>A
<ul>
<li>A.1</li>
<li>A.2
<ul>
<li>A.2.1
<ul>
<li>A.2.1.1</li>
<li>A.2.1.2
<ul>
<li>A.2.1.2.1
<ul>
<li>A.2.1.2.1.1
<ul>
<li>A.2.1.2.1.1.1
<ul>
<li>A.2.1.2.1.1.1.1</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>A.2.1.2.2</li>
</ul>
</li>
<li>A.2.1.3</li>
</ul>
</li>
<li>A.2.2</li>
</ul>
</li>
<li>A.3</li>
</ul>
</li>
<li>B
<ul>
<li>B.1</li>
<li>B.2</li>
</ul>
</li>
<li>C
<ul>
<li>C.1
<ul>
<li>C.1.1</li>
<li>C.1.2
<ul>
<li>C.1.2.1</li>
<li>C.1.2.2</li>
<li>C.1.2.3</li>
<li>C.1.2.4</li>
</ul>
</li>
</ul>
</li>
<li>C.2</li>
</ul>
</li>
</ul>
mau sedalam berapa pun level struktur nya ...
kodingnya sama saja
kebaca semua level struktur nya
yg di atas itu sudah 8 level kedalaman struktur
kalo mau dipake buat unlimited level menu, tinggal pinter-pinternya aja atur css nya
dan itu hasilnya persis sama dengan hasil <ul> <li> koding elo yg lebih ribet
tapi beda prosesnya ... jauh
punya elo, tambah level = ubah koding
koding gw, mau level sedalam apapun, kodingnya ya cuma itu
kalo struktur <ul> <li> hasil koding elo bisa dipake buat menu bootstrap
lha menurut elo, hasil koding yg gw tunjukin, bisa atau kagak ?
kalo struktur unlimited level
mestinya CSS juga mesti bisa unlimited level
kalo data menu elo cuma 3 level
pake koding yg unlimited level
yg nungul ya tetep 3 level
lha wong data nya emang cuma 3 level
CSS nya kalo emang cuma buat 2 level
tapi elo pake struktur yg 3 level
ya mesti ubah CSS
tapi kalo CSS juga bisa unlimited level
mau elo pake struktur 3 level, atau berapa level sekali pun
tetep langsung jadi
tanpa perlu ubah CSS
mbok yo kalo melakukan modifikasi itu koding nya diposting
jadi yg baca juga tau, koding elo jadi kaya apa ...
cuma nulis begini : "saya taro di samping ini '.$r['menu']. error"
coba elo tempatkan diri elo jadi yg baca, bisa paham atau kagak ?
samping mana ? samping kiri ? atau kanan ?
ditulis kaya apa ?
kalo nanya koding, apapun itu, koding nya di posting
bukan cuma cerita