Показывать категории параллельно с помощью CodeIgniter

#php #codeigniter

#php #codeigniter

Вопрос:

Я хочу перечислить категории и подкатегории параллельно с помощью Codeigniter. точно так же, как здесь: http://prntscr.com/mtj2ov

 for example:
Flowers 
Flowers -> Rose
Flowers -> Tulips
Flowers -> Lilies
  

Таблица

 id - subid - category_name - category_description - status
 1     0          Flowers            -                 1
 2     1          Rose               -                 1
 3     1          Tulips             -                 1
  

Содержимое этой модели

 public function getCategoryTree($id=0, $sub_mark=''){
    $rows = $this->db->select('*')->where('subid', $id)->order_by('id','asc')->get('ci_category')->result();
    $category = ''; 
    if (count($rows) > 0) {
        foreach ($rows as $row) {
            $category .= '<option value="'.$row->id.'">'.$sub_mark.$row->category_name.'</option>';
            $category .= $this->getCategoryTree($row->id, $sub_mark.'--');
        }
    }else{
        return false;
    }
    return $category;
}
  

Это управляющее содержимое

 $data['all_categroy'] = $this->category_model->get_all_category();
  

как и в примере, мне нужно внести изменения в модель и файл управления

Комментарии:

1. какова структура вашей таблицы?

2. @DevsiOdedra выше я написал 😉

3. каков ваш текущий результат?

4. @M.Hemant Теперь я получаю выходные данные в виде selectbox

Ответ №1:

Попробуйте это,

 $result = $this->db->select('*')->order_by('id','asc')->get('ci_category')->result();
$parentName = '';
$select = "<select>";
foreach ($result as $r) {
    if ($r->subid == 0) {
        $select.= "<option id='" . $r->id . "' >" . $r->category_name . "</option>";
        $parentName = $r->c_name . ' --> ';
    } else {
        $select.= "<option id='" . $r->id . "' >" . $parentName . $r->category_name . "</option>";
    }
}
$select.= "</select>";
echo $select;
die;
  

Комментарии:

1. добавление некоторых пояснений также поможет будущим посетителям 🙂

2. конечно, сэр, буду искать это сейчас, спасибо

Ответ №2:

Попробуйте сгенерировать URL, удобный для SEO

следуйте этим условиям:

https://www.codexworld.com/generate-seo-friendly-url-codeigniter/