Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: geshiro en 15 Agosto 2016, 18:39 pm



Título: problema con los indexes en foreach en codeigniter
Publicado por: geshiro en 15 Agosto 2016, 18:39 pm
bueno mi error es que me da  invalid argument supplied for foreach() y no me esta accediento bien al índice del arreglo, estoy usando codeigniter pero como pudiera arreglar ese error mi json del la función del controlador es
Código
  1. [{"id":"1","sección":"Inventario","data":[{"id":"11","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/items.png","value":"Productos","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/inventario\/product"},{"id":"14","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/employees.png","value":"Provedores","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/provedor\/provedor"}]},{"id":"2","sección":"Compras","data":[{"id":"22","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/suppliers.png","value":"Compras","seccion_id":"2","url":"http:\/\/localhost\/storeLTE\/compras\/compras"}]}]

controller

Código
  1.  
  2. public function getModules($id_module){
  3.    if($this->session->userdata('log')){
  4.        $data = $this->session->userdata('log');
  5.        $menu = array();
  6.        $seccions = $this->module->get_rows();
  7.        foreach ($seccions as $index => $sección){
  8.            $modules = $this->module->query("SELECT CONCAT('".$sección['id']."',storelte_modulo.id) AS id,CONCAT('".base_url('assets/img/sidebar')."','/',storelte_modulo.icon) as icon, storelte_modulo.modulo AS value,storelte_modulo.seccion_id,CONCAT('".base_url()."',storelte_modulo.url) AS  url FROM storelte_modulo INNER JOIN storelte_modulo_perfil ON  storelte_modulo_perfil.modulo_id = storelte_modulo.id WHERE seccion_id = $sección[id] AND storelte_modulo_perfil.perfiles_id = $data[id] AND storelte_modulo_perfil.STATUS = 1");
  9.            $seccions[$index]['data']= $modules;
  10.            if (!count($seccions[$index]['data']))
  11.                unset($seccions[$index]);
  12.        }
  13.        foreach ($seccions as $item)
  14.            array_push($menu,$item);
  15.  
  16.        $this->json($menu);
  17.    }
  18. }
  19.  

model

Código
  1. public function get_rows(){
  2.        $this->db->select('id,sección');
  3.        $this->db->from('storelte_seccion');
  4.        return $this->db->get()->result_array();
  5.    }
  6.  
  7.    public function query($query){
  8.        return
  9.  

Código
  1. <div class="row">
  2. <h3 class="text-center">Welcome to storeLTE, click a module below to get started!</h3>
  3. <div class="home_module_list">
  4.    <div class="module_item">
  5.        <?php foreach ($seccions as $session) { ?>
  6.          <div class="module_item" title="<?= $session['value'];?>">
  7.            <a href="<?= $session['url']; ?>"><img src="<?= $session['icon']; ?>"/></a>
  8.            <a href="<?= $session['url']; ?>"><?= $session['value']?></a>
  9.        </div>
  10.        <?php } ?>
  11.    </div>
  12. </div>
  13. </div>
  14.