• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
seegatesite header

Seegatesite.com

Seegatesite.com - Programming Tutorial , Sharing , How and Learn Together

  • TOOLS
    • Bootstrap Navbar Online Generator
    • Customize Sidebar Menu Bootstrap 3
    • Bootstrap Demo
  • ADVERTISE
  • CATEGORIES
    • Android
    • Blogging Tips
    • Database
    • CSS
    • Info Gadget
    • Javascript
    • Linux
    • PHP
    • Various
    • WordPress
  • Q&A
  • PHP
  • JAVASCRIPT
  • JQUERY
  • ANGULAR
  • WORDPRESS
  • SEO
  • REACT
🏠 » PHP » How To Create User Permissions View To Dynamic Sidebar Menu AdminLTE

How To Create User Permissions View To Dynamic Sidebar Menu AdminLTE

By Sigit Prasetya Nugroho ∙ February 19, 2016 ∙ PHP ∙ 17 Comments

Share : TwitterFacebookTelegramWhatsapp

Seegatesite.com – I’ll share how to create a user permissions view to dynamic sidebar menu on adminLTE using Mysql. Someone asks through this website, how do I create a user permission view for my application. Because if I explain through the comment form will be very long at all, so on this occasion I try to write tutorial my way to create user permissions view for dynamic sidebar menu adminLTE.

How To Create User Permissions View To Dynamic Sidebar Menu Adminlte

Before starting , you should read Creating dynamic sidebar menu with Mysql and AdminLTE Bootstrap Template

Create 3 pieces of tables t_user, t_menu, t_menu_sub to accommodate the data

Related Articles :

  • How To Upload Image Using PHP, AdminLTE Framework And JQuery Plugin For Beginner
  • Create a Sales Form / POS – Tutorial Build Point Of Sale With PHP, PDO, MySQL And Jquery Part 5
  • Create Master Item / Product Form – Tutorial Build Point Of Sale With PHP, PDO, MySQL And Jquery Part 4.

t_user table

Create Table T User How To Create User Permission View To Dynamic Sidebar Menu Adminlte

1
2
3
4
5
6
7
8
CREATE TABLE 't_user' (
  'id_user' int(11) NOT NULL AUTO_INCREMENT,
  'name_user' varchar(20) NOT NULL,
  'pass_user' char(50) NOT NULL,
  'h_menu' varchar(254) DEFAULT NULL,
  PRIMARY KEY ('id_user'),
  UNIQUE KEY 'NewIndex1' ('name_user')
)

Fill the following data

1
insert  into 't_user'('id_user','name_user','pass_user','h_menu') values (1,'ADMIN',md5('1188'),'1,2,3,4,5,6,7,8,9');

r_menu table

Create Table R Menu How To Create User Permission View To Dynamic Sidebar Menu Adminlte

1
2
3
4
5
6
7
CREATE TABLE 'r_menu' (
  'id_menu' int(2) NOT NULL AUTO_INCREMENT,
  'name_menu' varchar(100) DEFAULT NULL,
  'order' int(2) DEFAULT NULL,
  'icon' varchar(30) DEFAULT NULL,
  PRIMARY KEY ('id_menu')
)

Fill the following data

1
2
3
4
insert  into 'r_menu'('id_menu','name_menu','order','icon') values (1,'Data Karyawan',1,'fa fa-dashboard');
insert  into 'r_menu'('id_menu','name_menu','order','icon') values (2,'Penggajian',2,'fa fa-files-o');
insert  into 'r_menu'('id_menu','name_menu','order','icon') values (3,'Penilaian Kinerja Karyawan',3,'fa fa-share');
insert  into 'r_menu'('id_menu','name_menu','order','icon') values (4,'Transaksi',4,'fa fa-laptop');

r_menu_sub table

Create Table R Menu Sub How To Create User Permission View To Dynamic Sidebar Menu Adminlte

1
2
3
4
5
6
7
8
9
10
CREATE TABLE 'r_menu_sub' (
'id_sub_menu' int(3) NOT NULL AUTO_INCREMENT,
'name_sub_menu' varchar(100) DEFAULT NULL,
'id_menu' int(2) DEFAULT NULL,
'order_sub_menu' int(2) DEFAULT NULL,
'url' varchar(150) DEFAULT '#',
'title' text,
PRIMARY KEY ('id_sub_menu'),
KEY 'urutan_sub_menu_index' ('id_menu','order_sub_menu')
)

Fill these table with the following mysql data

1
2
3
4
5
6
7
8
9
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (1,'Data Karyawan',1,1,'aplikasi/karyawan/v_karyawan.php','Data karyawan - untuk mencatat biodata karyawan');
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (2,'Otorisasi Resign',1,4,'aplikasi/karyawan/v_otorisasi_resign.php',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (3,'Data Parameter Gaji',2,1,'aplikasi/penggajian/v_parameter_gaji.php',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (4,'Proses Penggajian (Gaji, THR, TAT)',2,2,'#',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (5,'Pembayaran Komisi AO',2,3,'aplikasi/penggajian/v_komisi_ao.php',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (6,'Parameter Insentif Dinamis',3,1,'#',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (7,'Penilaian PA',3,2,'#',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (8,'Transaksi Lembur',4,1,'aplikasi/transaksi/v_transaksi_lembur.php',NULL);
insert  into 'r_menu_sub'('id_sub_menu','name_sub_menu','id_menu','order_sub_menu','url','title') values (9,'Transaksi Lain (BUUT , KOPKAR , UUO-SPI)',4,2,'aplikasi/transaksi/v_transaksi_lain.php',NULL);

In this article, I will not explain in detail how to create the overall form on adminLTE but I have discussed it on  how to create a user permissions view on adminLTE dynamic sidebar menu. If you need the full of source code, please download at the end of the article.

Script on the adminLTE sidebar menu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
     <!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
      <!-- Sidebar user panel -->
<ul class="sidebar-menu">
<li class="header">
<?php echo date('d/F/Y') ?>
        </li>
        <?php $query = mysql_query("SELECT * FROM r_menu ORDER BY r_menu.'order' ASC")?>
        <?php while($menu=mysql_fetch_array($query)) {?>
<li class="treeview">
          <a id="menu-<?php echo $menu['id_menu']; ?>"href="#">
              <i class="<?php echo $menu['icon']; ?>"></i>
              <span><?php echo $menu['name_menu']; ?></span>
              <i class="fa fa-angle-left pull-right"></i>
          </a>
          <?php $id_menu=$menu['id_menu']; $query_sub_menu=mysql_query("select * from r_menu_sub where id_menu=$id_menu order by order_sub_menu asc"); if(mysql_num_rows($query_sub_menu)>0)
          { ?>
<ul class="treeview-menu">
           <?php $ilx=1; while($sub_menu=mysql_fetch_array($query_sub_menu)) { ?>
<li>
                            <?php $mymenu=$_SESSION['h_menu']; $arramymenu=explode(",", $mymenu) ; if(in_array($sub_menu['id_sub_menu'], $arramymenu)) { if($ilx % 2 == 0) { $circle_color = 'aqua'; }else { $circle_color = 'yellow'; } ?>
                            <a href="<?php echo $sitename.$sub_menu['url']; ?>" title="<?php echo $sub_menu['title']; ?>">
                                <i class="fa fa-circle-o text-<?php echo $circle_color; ?>"></i>
                                <span class="wrap">
                                    <?php echo $sub_menu['name_sub_menu']; ?>
                                </span>
                            </a>
                      </li>
          <?php $ilx++; } } ?>
          </ul>
        <?php } ?>
      </li>
      <?php } ;?>
    </ul>
  </section>
      <!-- /.sidebar -->

Explanation :

The main script to create dynamic menu with user permissions view is the following script

1
2
3
4
5
6
$mymenu=$_SESSION['h_menu'];
$arramymenu=explode(",", $mymenu) ;
if(in_array($sub_menu['id_sub_menu'], $arramymenu))
{  
//.......showing menu .........
}

$_SESSION[‘h_menu’] store h_menu value (user permission access field) from t_user table

in my example t_user table has the following value

Create User Permission Access

$_SESSION[‘h_menu’] has the value “1,2,3,4,5,6,7,8,9” > id_menu_sub. In my example, r_sub_menu has 9 rows of data with id_menu_sub 1,2,3,4,5,6,7,8,9

When table r_menu_sub looping, it will check if id_menu_sub match with user permission access value in array, if same it will show menu

1
2
3
4
5
6
if(in_array($sub_menu['id_sub_menu'], $arramymenu))
{
//.................
<a href="<?php echo $sitename.$sub_menu['url']; ?>" title="<?php echo $sub_menu['title']; ?>">
//.............................
}

Try to change the h_menu value to “1,3,4,5,7”. What will happen ?

Hopefully this brief tutorial can help you to create a user permissions view on adminLTE sidebar.

To get the full source code please download the following link

Download : How To Create User Permission To Dynamic Sidebar Menu AdminLTE
Password : seegatesite.com

Thus article about How To Create User Permissions View To Dynamic Sidebar Menu AdminLTE 🙂

Another PHP Related Post :

  • Tutorial Create Simple POS Using ReactJS And Laravel Lumen Part 1
  • How To Replace String With Another String In PHP
  • Login Page – Tutorial CRUD Client and API Server Using JQuery And Lumen Part 2
  • Tutorial CRUD Client and API Server Using JQuery And Lumen Part 1
  • How To Solve Problems Illegal mix of collations (latin1_swedish_ci,IMPLICIT) In Laravel
  • How To Resolve No ‘Access-Control-Allow-Origin’ Header In Lumen

Avatar for Sigit Prasetya Nugroho

About Sigit Prasetya Nugroho

This site is a personal Blog of Sigit Prasetya Nugroho, a Desktop developer and freelance web developer working in PHP, MySQL, WordPress.

Reader Interactions

Comments

  1. Avatar for aminiamini says

    December 23, 2016 at 12:59 pm

    thanks
    very good

    Reply
  2. Avatar for zakizaki says

    May 31, 2017 at 1:44 am

    password user ADMIN apa pak?

    Reply
    • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

      May 31, 2017 at 1:51 am

      maaf lupa nulis : password admin : 1188

      atau bisa anda buat sendiri
      insert into t_user(id_user,name_user,pass_user,h_menu) values (1,'ADMIN',md5('123'),'1,2,3,4,5,6,7,8,9');

      terimakasih

      Reply
  3. Avatar for iraira says

    December 15, 2017 at 8:59 pm

    JIka hanya menu single di r_menu dan tidak ada di r_menu_sub, bagaimana caranya agar icon V tidak tampil. Sudah coba ubah tapi tetap tampil.

    Reply
    • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

      December 16, 2017 at 4:32 am

      hapus script ini

      1
      2
      3
      <span class="pull-right-container">
                    <i class="fa fa-angle-left pull-right"></i>
                  </span>

      Reply
      • Avatar for IraIra says

        December 16, 2017 at 6:12 am

        1
        2
        3
        4
        5
        6
        "
                  <a id="menu-"href="#">
                      <i class=""></i>
                      <span></span>
                      <i></i>
                  </a>"

        Ini script dari sidebar.php

        Reply
        • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

          December 16, 2017 at 6:36 am

          maaf salah kasih jawaban,

          Hapus yang ini

          1
          <i class="fa fa-angle-left pull-right"></i>

          Reply
          • Avatar for iraira says

            December 16, 2017 at 6:48 am

            Ini icon V harus tampil karena ada di tabel r_menu dan r_menu_sub

            Dashboard – Dashboard 1
            – Dashboard 2
            Tabel – Tabel 1
            – Tabel 2

            Ini icon V tidak boleh tampil karena hanya ada r_menu

            User
            Logout

          • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

            December 16, 2017 at 8:21 am

            oooo… maksutnya kalo tidak ada sub menu maka icon v tidak ditampilkan gitu ? okay…ubah script seperti berikut

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            29
            30
            31
            32
            33
            34
            35
            36
            37
            38
            39
            40
            41
            42
            43
            44
            45
            46
            47
            48
            49
            50
            51
            52
            53
            54
            55
            56
            57
            58
            59
            60
            61
            62
            63
            64
            65
            66
            67
                 <!-- sidebar: style can be found in sidebar.less -->
                 <section class="sidebar">
                  <!-- Sidebar user panel -->
                  <ul class="sidebar-menu">
                    <li class="header">
                      <p class="header-tanggal"><?php echo date('d/F/Y') ?></p>
                    </li>
                    <?php $query = mysql_query("SELECT * FROM r_menu ORDER BY r_menu.`order`  ASC")?>
                    <?php while($menu=mysql_fetch_array($query)) {
            $id_menu=$menu['id_menu'];
                      $query_sub_menu=mysql_query("select * from r_menu_sub where id_menu=$id_menu order by order_sub_menu asc");
              $countsub = mysql_num_rows($query_sub_menu);
            ?>
                    <li class="treeview">
                      <a id="menu-<?php echo $menu['id_menu']; ? rel="nofollow">"href="#">
                          <i class="<?php echo $menu['icon']; ?>"></i>
                          <span><?php echo $menu['name_menu']; ?></span>
              <?php if( $countsub > 0 ) {?>
                          <i class="fa fa-angle-left pull-right"></i>
            <?php } ?>
              </a>
                      <?php
                    
                      if($countsub > 0)
                      { ?>
                      <ul class="treeview-menu">
                       <?php
                            $ilx=1;  
                            while($sub_menu=mysql_fetch_array($query_sub_menu))
                            {  
                       ?>
                                   <li>
                                        <?php
                                            $mymenu=$_SESSION['h_menu'];
                                            $arramymenu=explode(",", $mymenu);
                                            if(in_array($sub_menu['id_sub_menu'], $arramymenu))
                                            {                  
                                                  if($ilx % 2 == 0)
                                                  {
                                                      $circle_color = 'aqua';
                                                  }else
                                                  {
                                                      $circle_color = 'yellow';
                                                  }
                                        ?>
                                        <a href="<?php echo $sitename.$sub_menu['url']; ? rel="nofollow">" title="<?php echo $sub_menu['title']; ?>">
                                            <i class="fa fa-circle-o text-<?php echo $circle_color; ?>"></i>
                                            <span class="wrap">
                                                <?php
                                                    echo $sub_menu['name_sub_menu'];
                                                ?>
                                            </span>
                                        </a>
                                  </li>
                      <?php
                                                    $ilx++;
                                            }
                            }  ?>
                      </ul>
                    <?php
                      }  
                    ?>
                  </li>
                  <?php } ;?>
                </ul>
              </section>
                  <!-- /.sidebar -->

            Semoga membantu anda 🙂

          • Avatar for iraira says

            December 16, 2017 at 10:24 am

            Menu sidebar gak tampil, nanti sy coba lagi, thank’s ya

          • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

            December 16, 2017 at 10:36 am

            Sebenarnya intinya hanya pada kode berikut

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
              ............
            .................
            $id_menu=$menu['id_menu'];
                     $query_sub_menu=mysql_query("select * from r_menu_sub where id_menu=$id_menu order by order_sub_menu asc");
                     $countsub = mysql_num_rows($query_sub_menu);
                     ?>
                     <li class="treeview">
                      <a id="menu-<?php echo $menu['id_menu']; ? rel="nofollow">"href="#">
                        <i class="<?php echo $menu['icon']; ?>"></i>
                        <span><?php echo $menu['name_menu']; ?></span>
                        <?php if( $countsub > 0 ) {?>
                        <i class="fa fa-angle-left pull-right"></i>
                        <?php } ?>
                      </a>
                      <?php
                      
                      if($countsub > 0)
                        { ?>
                      <ul class="treeview-menu">
                       <?php
            ..............
            ..............

            mengecek terlebih dahulu apakah r_menu memiliki sub_menu ? jika tidak maka icon v tidak ditampilkan

  4. Avatar for iraira says

    December 16, 2017 at 10:26 am

    Tanpa login index.php masih bisa kebuka ya

    Reply
    • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

      December 16, 2017 at 10:41 am

      Iya. pada tutorial ini saya hanya berbagi cara memberi akses menu ke masing2 user. Untuk mencegah agar user tidak dapat mengakses halaman utama sebelum melalui login page dapat ditambahkan session php. Sepertinya sudah ada di artikel berikut ini

      https://seegatesite.com/dynamic-menu-adminlte-and-dashboard-page-tutorial-build-point-of-sale-with-php-pdo-mysql-and-jquery-part-2/

      Tetapi koneksi databasenya dari PHP menggunakan PDO, lebih powerful 🙂

      Reply
  5. Avatar for fatihfatih says

    July 24, 2020 at 3:51 pm

    download not workin. I shared but still locked.

    Reply
    • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

      August 2, 2020 at 9:59 am

      please check again

      Reply
  6. Avatar for YanuarYanuar says

    May 10, 2021 at 6:07 am

    Selamat siang pak sigit, artikel bagus dan menambah kemampuan coding membuat menu dinamis. Perkenalkan nama saya yanuar, pertanyaan saya apakah ada referensi / coding untuk membuat user permissions nya secara dinamis sesuai pilihan menu yang kita pilih misalnya menggunakan plugin treeview checkbox kemudian bisa kita simpan dan edit juga. Hasil posting waktu simpan sama spt bapak yg contohkan di atas field role : 1,2,3

    Reply
    • Avatar for Sigit Prasetya NugrohoSigit Prasetya Nugroho says

      May 19, 2021 at 9:21 am

      bisa pak, dari contoh saya dapat dikembangkan. Silahkan tampilkan menu kedalam tabel atau li element dan tambahkan checkbox. Kemudian ambil kode menu dari object yang tercentang saja. Saya ada contoh, kalo ga repot saya bantu share. terimakasih

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Welcome to my Home,

Avatar for Sigit Prasetya NugrohoThis site is a personal Blog of Sigit Prasetya Nugroho, a Desktop developer and freelance web developer working in PHP, MySQL, WordPress.



Popular Articles

Checked checkbox AdminLTE Bootstrap in Jquery

November 4, 2014 By Sigit Prasetya Nugroho 7 Comments

Simple create date format validation with jqueryUI

December 21, 2014 By Sigit Prasetya Nugroho Leave a Comment

Create Simple Progress Bar for Fake Online Generator with Jquery

January 10, 2015 By Sigit Prasetya Nugroho Leave a Comment

22+ Coolest Free Jquery Plugin For Premium Theme

October 3, 2015 By Sigit Prasetya Nugroho Leave a Comment

Easy Build Your Anti Copy Paste Plugin

October 6, 2015 By Sigit Prasetya Nugroho Leave a Comment

Popular Tags

adminlte (15) adsense (13) adsense tips (4) affiliate amazon (13) amazon (12) Android (8) angular (16) angular 4 (12) angular 5 (4) asin grabber (3) Bootstrap (27) codeigniter (5) create wordpress theme (5) crud (8) css (6) free wordpress theme (7) google adsense (4) imacros (4) increase traffic (6) jquery (34) laravel (10) laravel 5 (5) learn android (5) lumen api (4) modal dialog (5) mysql (6) nodeJs (4) optimize seo (4) pdo (6) php (30) plugin (53) pos (8) Publisher Tips (5) react (6) Reactjs (9) SEO (37) theme (17) tutorial angular (5) tutorial angular 4 (6) tutorial javascript (10) tutorial javascript beginners (4) twitter (3) wordpress (18) wordpress plugin (13) XMLRPC (5)




  • About
  • Contact Us
  • Disclaimer
  • Privacy Policy
  • Terms and Conditions

©2022 Seegatesite.com