Tengo dentro del model una función que se llama get_menu y saco el campo idmenu y section cual su parent sea 0
La consulta MySQL
Entonces lo que me gustaría seria guardar esa id en una variable y pasársela get_sub_menu para que saque los section de su padre. En el campo parent guardo el idmenu de donde pertenece.
No sé si me explique de todo bien. Gracias a todos.
Vista: Código PHP:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
<h1>Menu</h1>
<nav>
<ul>
<?php
foreach ($menu as $item):
$url = $item->idmenu . '/';
$url .= url_title(convert_accented_characters($item->section), '-', TRUE)
?>
<li><?= anchor($url, $item->section); ?></li>
<?php
foreach ($submenu as $item2):
$url2 = $item2->idmenu . '/';
$url2 .= url_title(convert_accented_characters($item2->section), '-', TRUE)
?>
<ul><li><?= anchor($url2, $item2->section); ?></li></ul>
<?php
endforeach;
endforeach;
?>
</ul>
</nav>
</body>
</html>
Modelo: Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Model_menus extends CI_Model {
function __construct()
{
parent::__construct();
}
// Recupera los apartados del menu
function get_menu()
{
$this->db->select('idmenu, section');
$this->db->where('active', '1');
$this->db->where('parent', '0');
$this->db->order_by('order', 'ASC');
$consulta = $this->db->get('menus');
return $consulta->result();
}
// Recupera los apartados del submenu
function get_sub_menu($id_menu)
{
$this->db->select('idmenu, section');
$this->db->where('active', '1');
$this->db->where('parent', $id_menu);
$this->db->order_by('order', 'ASC');
$consulta = $this->db->get('menus');
return $consulta->result();
}
}
Controlador: Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('Model_menus');
}
function index()
{
$datos['menu'] = $this->Model_menus->get_menu();
$id_limpio = $this->security->xss_clean($id_menu);
$datos['submenu'] = $this->Model_menus->get_sub_menu($id_limpio);
$this->load->view('index',$datos);
}
}