Di dalam sebuah website, seringkali kita menemukan penggunaan menu bertingkat seperti pada gambar di atas. Menu yang bertingkat tersebut sebenarnya adalah sebuah struktur pohon/tree di mana suatu menu bisa memiliki anak (submenu), dan submenu tersebut juga bisa memiliki anak lagi dan seterusnya sampai level tak terbatas.
Berikut ini adalah contoh struktur html menu yang terdiri dari 3 level (menggunakan tag html <ul> dan <li>):
pertama buat database nya :
CREATE TABLE IF NOT EXISTS `menulevel` (
`id` tinyint(3) unsigned NOT NULL auto_increment,
`parent_id` tinyint(3) unsigned NOT NULL default '0',
`title` varchar(100) NOT NULL default '',
`url` varchar(100) NOT NULL default '',
`menu_order` tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
<?php
function get_menu($data, $parent = 0) {
static $i = 1;
$tab = str_repeat("\t\t", $i);
if (isset($data[$parent])) {
$html = "\n$tab";
";
$i++;
foreach ($data[$parent] as $v) {
$child = get_menu($data, $v->id);
$html .= "\n\t$tab- ";
';
$html .= ''.$v->title.'';
if ($child) {
$i--;
$html .= $child;
$html .= "\n\t$tab";
}
$html .= '
}
$html .= "\n$tab
return $html;
} else {
return false;
}
}
mysql_connect('localhost', 'root', '');
mysql_select_db('tes');
$result = mysql_query("SELECT * FROM menu ORDER BY menu_order");
while ($row = mysql_fetch_object($result)) {
$data[$row->parent_id][] = $row;
}
$menu = get_menu($data);
?>
kemudian dengan modifikasi beberapa scripts hasil

tampilan index

tampilan untuk menambah data.

Visitors : 1668047 Org Hits : 11234237 hits Month : 10160 Users Today : 353 Users Online : 7 Users
|