Melanjutkan tutorial sebelumnya, setelah login kemudian kita buat menu yang ada di samping kiri AdminLTE. Tutorial sebelumnya :
Tabel yang akan kita gunakan cukup dengan satu tabel saja seperti berikut
DROP TABLE IF EXISTS `tbl_menu`;
CREATE TABLE IF NOT EXISTS `tbl_menu` (
`menu_id` int(11) NOT NULL AUTO_INCREMENT,
`menu_name` varchar(200) NOT NULL,
`menu_link` text NOT NULL,
`menu_level` int(11) DEFAULT NULL,
`menu_parent` int(11) NOT NULL,
`status` int(11) NOT NULL,
`short` int(11) NOT NULL,
`menu_icon` text NOT NULL,
`menu_desc` varchar(50) DEFAULT NULL,
PRIMARY KEY (`menu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_menu`
--
INSERT INTO `tbl_menu` (`menu_id`, `menu_name`, `menu_link`, `menu_level`, `menu_parent`, `status`, `short`, `menu_icon`, `menu_desc`) VALUES
(1, 'HOME', 'home', 1, 0, 1, 1, 'fa fa-file-text-o', 'm_home'),
(2, 'LEFT MENU', 'menu', 2, 0, 1, 2, 'fa fa-file-text-o', 'm_menu'),
(3, 'DATATABLES', 'datatables', 3, 0, 1, 3, 'fa fa-file-text-o', 'm_datatables'),
(4, 'CRUD', 'crud', 4, 0, 1, 4, 'fa fa-file-text-o', 'm_crud'),
(5, 'PRINT', 'print', 5, 0, 1, 5, 'fa fa-file-text-o', 'm_print'),
(6, 'UPLOAD', 'upload', 6, 0, 1, 6, 'fa fa-file-text-o', 'm_upload'),
(7, 'CRUD DENGAN FORM', 'crud/form', 4, 4, 1, 7, 'fa fa-circle-o', 'm_crud_form'),
(8, 'CRUD DENGAN eModal', 'crud/emodal', 4, 4, 1, 7, 'fa fa-circle-o', 'm_crud_emodal');
setelah menambahkan tabel diatas, tiba saatnya untuk membuat kode skrip dengan nama nav_left.php
Kode php tersebut nanti akan kita panggil pada header.php yang sudah kita buat sebelumnya pada artikel Login dengan jQuery, PHP + MySQL
<?php
$leftMenu = getAllMenu_byRole();
if(count($leftMenu) > 0)
{
$refs = array();
$list = array();
$i=0;
foreach($leftMenu as $leftMenu)
{
$thisref = &$refs[$leftMenu['menu_id']];
$thisref['menu_parent'] = $leftMenu['menu_parent'];
$thisref['menu_name'] = $leftMenu['menu_name'];
$thisref['menu_link'] = $leftMenu['menu_link'];
$thisref['menu_icon'] = $leftMenu['menu_icon'];
$thisref['menu_desc'] = $leftMenu['menu_desc'];
if($leftMenu['menu_parent'] == 0){
$list[$leftMenu['menu_id']] = &$thisref;
}
else{
$refs[$leftMenu['menu_parent']]['children'][$leftMenu['menu_id']] = &$thisref;
}
$i++;
}
function create_list($arr, $urutan)
{
if($urutan==0){
$html = '';
}
else{
$html = '<ul class="treeview-menu">';
}
foreach($arr as $key=>$v)
{
if(array_key_exists('children', $v)){
$html .= '<li class="treeview '.$v['menu_desc'].'">';
$html .= '<a href="#">
<i class="'.$v['menu_icon'].'"></i> <span>'.$v['menu_name'].'</span>
<span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span>
</a>';
$html .= create_list($v['children'],1);
$html .= "</li>";
}
else{
if($urutan==0){
$html .= '<li class="'.$v['menu_desc'].'"><a href="'.BASE_URL.$v['menu_link'].'"><i class="'.$v['menu_icon'].'"></i> <span>'.$v['menu_name'].'</span></a></li>';
}
else{
$html .= '<li class="'.$v['menu_desc'].'"><a href="'.BASE_URL.$v['menu_link'].'"><i class="'.$v['menu_icon'].'"></i> '.$v['menu_name'].'</a></li>';
}
}
}
if($urutan==0){
$html .= "";
}
else{
$html .= "</ul>";
}
return $html;
}
echo create_list($list, 0);
}
?>
Terakhir buatkan function model mysqli dengan kode seperti berikut
function getAllMenu_byRole()
{
global $db_mysql;
$result = $db_mysql->query("SELECT m.* FROM tbl_menu m WHERE 1 ORDER BY m.short ASC");
return $result;
}
Jika semua sudah dilakukan, kemudian refresh halaman /home dan menu dynamic akan tampil seperti berikut
Author Profile
- Hi my name is Ricki, I am a blogger from Indonesia. Founder of erkamoo.com, Besides creating Web Applications, I also write about Blogging Tips and Tutorials on Programming, Databases, HTML.