簡體   English   中英

如何使用PHP禁用樹結構中的子級

[英]How to disable child in tree structure using php

我必須在下拉列表中創建一個樹形結構,如下所示:

在此處輸入圖片說明

我正在使用遞歸函數來創建樹。

我的數據庫結構如下:

在此處輸入圖片說明

樹形結構代碼如下:

function fetchCategoryTree($parent = 0, $spacing = '', $user_tree_array = '') {

      if (!is_array($user_tree_array))
        $user_tree_array = array();

        $module = new Modulemaster();
        $module->cquery = "SELECT id,sub_module_id,module_name FROM module_master WHERE 1 AND sub_module_id = $parent AND cmp_id = 0 AND is_delete = 0 ORDER BY id ASC";
        $module->action = "get";
        $module_res = $module->process();
        if($module_res['count'] > 0) {
            foreach($module_res['res'] as $module_row_key => $module_row) {
                $user_tree_array[] = array("id" => $module_row['id'], "module_name" => $spacing . $module_row['module_name']);
                $user_tree_array = fetchCategoryTree($module_row['id'], $spacing . ' &nbsp     ', $user_tree_array);
            }
        }
      return $user_tree_array;
    }

<select class="form-control required" id="sub_module_id" name="sub_module_id">
    <option value="">--Select--</option>
          <?php
             $categoryList = fetchCategoryTree($module_id,$spacing = '', $user_tree_array = '');
              foreach ($categoryList as $row) { ?>
           <option value="<?php echo $row['id']; ?>" <?php echo selected($sub_module_id, $row['id']); ?>><?php echo $row['module_name']; ?>
        </option>
      <?php
           } ?>
 </select>

我該如何禁用孩子?

如果要禁用選項,請嘗試以下操作:

foreach ($categoryList as $row)
{ 
    if(in_array($row['id'],array(4,5,6)) // array(4,5,6) id's you want to disable
    {
        $disabled = ' disabled="1" ';
    }
    else
    {
        $disabled = '';
    }
?>
    <option value="<?php echo $row['id']; ?>" <?php echo selected($sub_module_id, $row['id']); ?> <?php echo @$disabled; ?>>
        <?php echo $row['module_name']; ?>
    </option>
<?php } ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM