Категория с подкатегорией PHP / MySQL - PullRequest
1 голос
/ 06 февраля 2012

У меня есть имя таблицы MySql 'category', в этой таблице у меня есть

id   catname   parent_id
1    animals
2    vegs        
3    dog        1
4    cat        1
5    carrot     2

я просто хочу отобразить эти данные в html-формате 'ul', например

<ul>
  <li>Animals
      <ul>
         <li>dog</li>
         <li>cat</li>
      </ul>
  </li>
  <li>Vegs
     <ul>
         <li>Carrot</li>
      </ul>
 </li>
</ul>

с php, помогите мне получить эти данные с помощью php (CodeIgniter) и отображения.

1 Ответ

1 голос
/ 10 февраля 2012

Вот три компонента для вашего вопроса: контроллер, модель и вид ...

<!-- THE VIEW -->

<ul>
<?php foreach($main_cat->result() as $rowm) : ?>

    <li><?php echo $rowm->catname ?>
        <ul>
        <?php
            $id = $rowm->id;
            $sec_cat = $this->yourmodel->get_secondary($id);
            foreach($sec_cat->result() as $rows) :
        ?>

            <li><?php echo $rows->catname ?></li>

        <?php endforeach; ?>
        </ul>
    </li>

<?php endforeach; ?>
</ul>



<!-- THE CONTROLLER -->

<?php

class Welcome extends CI_Controller {   
   function index()
   {
      $data['main_cat'] = $this->yourmodel->get_main();
      $this->load->view('welcome_view',$data);
   }
} 
?>



  <!-- THE MODEL -->

<?php
class Yourmodel extends CI_Model {

function get_main()
{
    $this->db->where('parent_id','');
    $query = $this->db->get('category');
    return $query;
}

function get_secondary($parent)
{
    $this->db->where('parent_id',$parent);
    $query = $this->db->get('category');
    return $query;
}
}
?>
...