Вывод неупорядоченного подсписка, созданного с помощью php и mysql

Мне удалось создать неупорядоченный список со значениями из родительской таблицы в базе данных. Предполагается, что у каждого родительского списка есть неупорядоченный список, основанный на том, есть ли у него значения в дочерней таблице. Я создал класс, который достигает этого, однако, подсписок, кажется, нарушает вывод родительского неупорядоченного списка. я не смог понять почему! Я публикую код метода, который печатает родительский список и дочерние списки на основе родительского идентификатора; я подозреваю, что ошибка исходит от моего foreach, но я не уверен, я мог бы опубликовать весь код, но не уверен, что это правильно;

     public function construct_list($type,$parent = true){

if($parent){

$this->load_parent_array = $this->load_parent_list();

switch($type){

case 'ul':

$this->list_string = '';

foreach($this->load_parent_array as $o_keys => $o_vals):

$this->list_string .= '<li>';

foreach($o_vals as $k_vals => $_vals):

if($k_vals === 'parent_id'){

$this->list_string .= '
<label class="inline-label">
<input data-toggle="child-id-'.$_vals.'" type="checkbox" name="parent_cat[]" value="'.$_vals.'" class="unicorn" />
';

}

if($k_vals === 'parent_category_names'){

$this->list_string .= '<span class="check-label">'.$_vals.'</span>
</label>';

}

//Inner Unordered list code

$this->load_child_array = $this->load_child_list($_vals);

if(!empty($this->load_child_array)){

if($k_vals === 'parent_id'){

$this->list_string .= '<ul id="child-id-'.$_vals.'" class="child-category">';

foreach($this->load_child_array as $o_keys => $o_vals):

$this->list_string .= '<li>';


foreach($o_vals as $v => $f){

if($v === 'child_category_name'){

$this->list_string .= '<label class="inline-label">
<input type="checkbox" name="child_category[]" value="'.$f.'" />
<span class="check-label">'.$f.'</span>
</label>';
}

}

$this->list_string .= '</li>';

endforeach;

$this->list_string .= '</ul>';

}

}

endforeach;

$this->list_string .= '</li>';

endforeach;

break;

case 'select':

$this->list_string = '<li>--Parent Category--</li>';

foreach($this->load_parent_array as $o_keys => $o_vals):

foreach($o_vals as $k_vals =>$_vals):

#$this->list_string .= '<option value="';

if($k_vals === 'parent_category_slug'){

$this->list_string .= '<option value="'.$_vals.'">';

}

if($k_vals === 'parent_category_names'){

$this->list_string .= $_vals.'</option>';

}



endforeach;

endforeach;

break;
}

}else{


}

return $this->list_string;
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]