Ver Mensaje Individual
  #38 (permalink)  
Antiguo 28/01/2014, 14:58
Avatar de luis010182
luis010182
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: Lista de Categorias y Subcategorias con una sola tabla.

Cita:
Iniciado por rakshaka Ver Mensaje
Este es el codigo que tengo ahora:

Código PHP:
Ver original
  1. <?php
  2.         $categorias = mysql_query("SELECT * FROM categorias");
  3.         while ($categoria = mysql_fetch_assoc($categorias)) {
  4.           #  $categoria['categoria_madre'] = NULL;
  5.         if( is_null( $categoria['categoria_madre'] ) ){
  6.             $cate[ $categoria['categoria_id' ] ] ['super'] = $categoria['categoria_nombre'];  
  7.           }
  8.           else{
  9.            $cate[ $categoria['categoria_madre' ] ] ['sub'] [ $categoria['categoria_id'] ] = $categoria['categoria_nombre'];
  10.           }
  11.         }
  12.        
  13.     echo "<pre>";
  14.     print_r($cate);
  15.     echo "</pre>";  
  16.         ?>
  17.         <li><a href="#">TIENDA ONLINE</a><span></span>
  18.              <ul>
  19.         <?php
  20.         foreach($cate as $k=>$c ){
  21.                 if( !array_key_exists('sub', $c)) {
  22.                     ?><li><a href="#"><?php echo $c['super']; ?></a></li>
  23.                     <?php } else { ?>
  24.                     <li><a href="#"><?php echo $c['super']; ?></a>
  25.                         <ul>
  26.                             <?php foreach($c['sub'] as $kk=>$cc){
  27.                                 ?><li><a href="#"><? echo $cc; ?></a></li>
  28.                                 <?php } ?>
  29.                         </ul>
  30.                     </li>
  31.                     <?php
  32.                 }
  33.         }
  34.         ?>
  35.              </ul>
  36.         </li>

Y el Array Mejoró:

Código HTML:
Ver original
  1. Array
  2. (
  3.     [1] => Array
  4.         (
  5.             [super] => Lenceria
  6.             [sub] => Array
  7.                 (
  8.                     [2] => Calzados
  9.                     [3] => Categoria 3
  10.                 )
  11.  
  12.         )
  13.  
  14.     [2] => Array
  15.         (
  16.             [sub] => Array
  17.                 (
  18.                     [4] => Categoria 4
  19.                 )
  20.  
  21.         )
  22.  
  23. )

Esa es la estructura pero me tira el error en la linea 51 Notice: Undefined index: super inindex.php on line 50

<li><a href="#"><?php echo $c['super']; ?></a>

Es esa la linea... ya se ve todo bien excepro el segundo Super... sino ya esta casi andandoooooooooooooooooooooooooooooooooooo

Te esta diciendo que no tenes la categoria padre de "Categoria 4". Osea que hay una subcategoria pero no esta la categoria superior.

Fijate que me parece que en la base tenes declarado la categoria "Calzados" como hija de la categoria 1 cuando deberia se NULL