Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2004, 09:58
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Elementos dependientes

Hola a todos!

Tengo un problema que, dados mis escasos conocimientos de PHP, se me está haciendo muy muy grande.

Resulta que tengo una clasificación por categorías en una base de datos (MySQL por si sirve). La estructura es como una tienda online, donde hay categorías, subcategorías... el caso es que cada categoría es una fila en mi base de datos.En esta fila, entre otros valores que no vienen al caso, hay un campo id (con un número único de cada fila ¿se llama key?) y otro campo llamado "pende". En el campo pende pongo el id de la categoría de la que pende.

Por ejemplo, en una supuesta estructura tal que:

ropa (id=1)
|
+-camisas (id=2)
|
+- pantalones (id=3)
| |
| +Pantalones cortos (id=4)
|
...

Tengo puesto en mi base de datos:
Código HTML:
ID    nombre             pende
1     ropa               0 (porque no pende de nada, es raiz)
2     camisas            1 (porque pende de ropa)

3     pantalones         1 (porque pende de ropa)
4     Pantalones Cortos  3 (porque pende de pantalones)
Espero que se me haya entendido.

Entonces, yo ahora quiero hacer una estructura de árbol (algo similar al combo de estos foros donde aparece estructurado todo el árbol de foros del site. No sé si lo habeis visto, está abajo del todo. Podeis verlo ahora si bajais abajo del todo) con la estructura de los productos de la supuesta tienda.

Pero no sé cómo hacerlo. Creo que podría meter en un array todos los registros de la tabla y luego por medio de array_keys sacar las que penden de un id

algo así:

$penden_de_ropa=array_keys($registros['penden'],1);

(porque 1 es el id de ropa)

luego ya con el array de $penden_de_ropa ya tengo todos los registros que penden para hacer la estructura...

Mi pregunta es, ¿cómo puedo meter todos los registros en un array o cómo se os ocurre para hacer lo que digo sin ponerme a hacer consultas a diestro y siniestro en la base de datos?

Espero no haber sido muy obtuso en la explicación, ni muy pesado, ni enfarragoso y que tenga fácil solución....

Espero vuestras respuestas (sólo se aceptarán insultos si se fundamentan debidamente).
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 11/12/2004 a las 10:03