• 25-01-2023, 22:08:31
    #1
    2 Adet array verim var bu veriler bu şekilde
    menu Array
                  $data[] = array(
                    'menu_id'=>$menuValues['menu_id'],
                    'menu_name'=>$menuValues['menu_name']
                  );
    modul Array
                    $data[] = array(
                        'modul_id'=>$modulValues['modul_id'],
                        'menu_id'=>$modulValues['menu_id'],
                        'modul_name'=>$modulValues['modul_name']
                      );
    Bu verilerin ikiside db den while döngüsü ile geliyor farkettiyseniz ikisindede menu_id kısmı mevcut amacım şu bu menu_id kısmını ikisi ile eşleştirip foreach veya while ile bu verileri birbirine eş olarak çekmek istiyorum örnek çıktı şu şekilde olmalı

    Menu 1
    --- Modul 1

    Menu 2
    --- Modul 2

    yardımlarınızı bekliyorum, mvc ile projeme devam ediyorum fakat böyle bir yerde takıldım.
  • 25-01-2023, 23:34:48
    #2
    Menu_name olan data'nızı foreach ile döngüye alın (öncelikle belirteyim ki eğer alttaki modul_name olan verinizi de $data etiketiyle alıyorsanız ya menu_name olanı değiştirin ya da yeni bir array açıp oraya ekleyin, bunu belirtme nedenim 2 ayrı dizi birbiriyle karışmasın)
    Foreach ile döngüye aldığımız menu_name dizimizde menu_id'yi alalım (örn: $id1 olsun) ve ikinci dizimiz için ilk açtığımız foreach içine ikinci bir foreach açalım, if ile de menu_id'mizi alalım {$id2 olsun) if($id1==$id2) ile menüleri eşleştirebiliriz. Umarım anlatabilmişimdir. Dilerseniz kodun süresini kısaltmak amacıyla if'ten sonra ikinci foreach'i durdurabilirsiniz.
  • 25-01-2023, 23:50:05
    #3
    İlginiz için sağolun şöyle bir yol izledim açıkcası

           public function authoritygroupmenu()
           {
          
          $menu=$this->db->wread("menu","menu_status",1,["columns_name"=>"menu_must","columns_sort"=>"ASC"]);
        
          $data = array();
          while($menuValues=$menu->fetch(PDO::FETCH_ASSOC)){
            $data['menu'][]=array(
                'menu_id'=>$menuValues['menu_id'],
                'menu_name'=>$menuValues['menu_name']
            );
              $modul=$this->db->wread("modul","menu_id",$menuValues['menu_id'],["columns_name"=>"modul_must","columns_sort"=>"ASC"]);
              while($modulValues=$modul->fetch(PDO::FETCH_ASSOC)){
                $data['modul'][] = array(
                'modul_id'=>$modulValues['modul_id'],
                'menu_id'=>$modulValues['menu_id'],
                'modul_name'=>$modulValues['modul_name']
                );
                
          }}
        return $data;
    bu şekilde models dosyamda db işlemleri yaptım

    <?php  
                                                                               
                                                foreach ($data['menu']['menu'] as $values ) :?>
                                            <div class="col-md-4">
                                                <div>
                                                    <div class="list-group nested-list  form-switch form-switch-success">
                                                        <div class="list-group-item nested-1 "> <i
                                                                class="ri-dashboard-2-line fs-16 align-middle text-primary me-2"></i>
                                                            <?php echo $values['menu_name']; ?>
                                                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    
                                                            <input class="form-check-input form-switch" type="checkbox"
                                                                role="switch" id="flexSwitchCheckCheckedDisabled" checked>
                                                            <label class="form-check-label"
                                                                for="flexSwitchCheckCheckedDisabled">Okuma</label>
    
    
                                                            <?php 
                                                               foreach ($data['menu']['modul'] as $modulValues) :
                                                                if(
                                                                    $modulValues['menu_id']==$values['menu_id']
                                                                ){?>
                                                            <div class="list-group nested-list">
                                                                <div class="list-group-item nested-2">
                                                                    <?php echo $modulValues['modul_name']; ?>
                                                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input
                                                                        class="form-check-input form-switch" type="checkbox"
                                                                        role="switch" id="flexSwitchCheckCheckedDisabled"
                                                                        checked>
                                                                    <label class="form-check-label"
                                                                        for="flexSwitchCheckCheckedDisabled">Okuma</label>
                                                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input
                                                                        class="form-check-input form-switch" type="checkbox"
                                                                        role="switch" id="flexSwitchCheckCheckedDisabled"
                                                                        checked>
                                                                    <label class="form-check-label"
                                                                        for="flexSwitchCheckCheckedDisabled">Yazma</label>
                                                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input
                                                                        class="form-check-input form-switch" type="checkbox"
                                                                        role="switch" id="flexSwitchCheckCheckedDisabled"
                                                                        checked>
                                                                    <label class="form-check-label"
                                                                        for="flexSwitchCheckCheckedDisabled">Silme</label>
                                                                </div>
                                                            </div>
                                                            <?php }
                                                                ?>
                                                            <?php endforeach; ?>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                            <?php endforeach; ?>
    buda listelediğim yer