Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2015, 12:55
manelmanel8
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 9 meses
Puntos: 2
Utilizar variable de otra funcion

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
Código MySQL:
Ver original
  1. SELECT * FROM menus WHERE active = 1 AND parent = 0 ORDER BY menus.order ASC

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);    
    }
}