Member 13153537 Ответов: 1

Как показать определенные пункты меню для конкретного входа пользователя в PHP с помощью mysql


у меня есть таблицы в mysql одна из них это столбцы тестовой таблицы вот так

ID имя пользователя рефид
1 0 а
2 0 б
3 0 C
4 1 A1 abc
5 1 A2 cde
6 2 B1
7 2 B2
8 3 С3
9 3 С4
10 3 С5
11 2 С7
12 2 C8 lmn
13 11 С9
14 11 С10

используя приведенную выше таблицу, я создаю динамическое меню с помощью функции php.

у меня есть еще одна таблица это поля входа в систему и такие данные

id имя пользователя пароль field3
1 Джон Джон 1,3,4,5,6,7,8,9
теперь я хочу, чтобы теперь, если john login покажет только меню field3 releated values.
как это сделать, пожалуйста, помогите мне заранее спасибо.

Что я уже пробовал:

я создал такую функцию php

       function submenu($parentid=0){
        global $conn;
  
        $sql=mysqli_query($conn,"SELECT * FROM test WHERE refid=".$parentid);
       {
        $rowcount=mysqli_num_rows($sql);
         if($rowcount>0){
           echo '<ul>';
         }
            while($row=mysqli_fetch_array($sql,MYSQLI_ASSOC))
            {
              if($row['refid']==0)
              {
                echo '<li class="limain">'.$row['name'];
                 submenu($row['id']);
                 echo '</li>';
            }
              else{
                if($row['userdefined']){
               echo '<li class="lichild"><a 
          href="'.$row['userdefined'].'">'.$row['name'].'</a>';
             }else{
               echo '<li class="lichild">'.$row['name'];
             }
               submenu($row['id']);
               echo '</li>';
            }

          }
      if($rowcount>0){
        echo '</ul>';

        }

    }
  }

//mysqli_close($con);
 ?>

1 Ответов

Рейтинг:
10

Member 13153537

              <?php
                require ('Assests/connection/connection.php');

     $sql2=mysqli_query($conn,'select * from login WHERE id='.$_SESSION["id"]);
     $row = mysqli_fetch_array($sql2);
      $menu_items =  $row['field3'];

     function submenu($parentid=0){
     global  $conn;
      global  $menu_items;

     $sql=mysqli_query($conn,"SELECT * FROM test WHERE refid=".$parentid ." AND id in
     ($menu_items)");
    {
     $rowcount=mysqli_num_rows($sql);
     if($rowcount>0){
       echo '<ul>';
     }
           while($row=mysqli_fetch_array($sql,MYSQLI_ASSOC))
           {
             if($row['refid']==0)
             {
               echo '<li class="limain">'.$row['name'];
                submenu($row['id']);
                echo '</li>';
           }
             else{
               if($row['userdefined']){
              echo '<li class="lichild"><a href="'.$row['userdefined'].'">'.$row['name'].'</a>';
            }else{
              echo '<li class="lichild">'.$row['name'];
            }
              submenu($row['id']);
              echo '</li>';
           }

         }
     if($rowcount>0){
       echo '</ul>';

       }

   }
 }


?>