Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2011, 05:32
juanla
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 9 meses
Puntos: 1
Ordenar una tabla en un select

Bueno, el tema es este:

Tengo una tabla con una serie de categorías:

Tabla categorías
[id][categoria][padre]

-id: identificador
-categoria: nombre de la categoria
-padre: nombre de la categoria padre

-------------------------

Quiero crear un <select> que me liste las categorías, para ello tengo el siguiente código:
En esta parte hago el select
Código PHP:
Ver original
  1. $consulta2='SELECT id,categoria,padre FROM categoria ORDER BY padre,categoria';
  2. $res_categorias=mysql_query($consulta2);

Y aquí viene el "lío"
Código PHP:
Ver original
  1. <select name="categoria">
  2.                               <?php
  3.                               /* Imprimimos todas las categorias que tenemos en el Select */
  4.                               while($categorias=mysql_fetch_array($res_categorias))
  5.                               {  
  6.                                   $cat_actual = $categorias[2];
  7.                                   $cont = 0;
  8.                                   if($cat_actual == $categorias[2]){
  9.                                       if($cont == 0){
  10.                               ?>
  11.                                   <option class="categoriapadre" value="titulo de categoria"><?php echo $categorias[2]; ?></option>  
  12.                               <?php
  13.                                         $cont = 1 ;
  14.                                       }
  15.                                   }else{
  16.                                       $cont = 0;
  17.                                   }
  18.                               ?>
  19.                                   <option value="<?php echo $categorias[0]; ?>"><?php echo $categorias[1]; ?></option>
  20.                               <?php
  21.                               }
  22.                               ?>
  23.                             </select>

El while funciona bien, es decir me muestra todas las categorías, lo que pasa que quiero que el formato sea:
--TITULO DE LA CATEGORÍA (lo que tengo en la tabla como "padre")--
cat1
cat2
cat3
cat4
cat5
--TITULO DE LA CATEGORÍA--
cat1
cat2
...

Y así sucesivamente, con esto que he puesto ahí lo máximo que consigo esque siempre salga el padre encima de cada categoría, lo ideal esque sólo saliera la primer vez por cada padre, he probado haciendo otra consulta y con otro código pero lo lié más, dejo esto porque es lo más cerca que he estado.

Gracias