Estoy haciendo un sistema de categorías, y leyendo en el foro concluí que el mejor modelo era:
categoria_id | cat_padre_id | categoria
--------------------------------------
1 | 0| categoria principal
2 | 1| subcategoría de 1
Según el post:http://www.forosdelweb.com/showthrea...ubcategor%EDas
Pues bien, ahora estoy intentado hacer la consulta para conseguir agrupar las categorías y aunque estoy leyendo que se haría con GROUP BY, la verdad es que me da problemas.
El código es:
Código PHP:
<p>Selecciona las categorías de interés:</p>
<?php
$consult_padre="SELECT * FROM not_categorias GROUP BY categoria";
$result_padre=mysql_query($consult_padre,$conn) or die(mysql_error());
$cat_padre=mysql_fetch_array($result_padre);
$cat_padre_id=$row['cat_padre_id'];
while ($row = mysql_fetch_assoc($result_padre)) {
if ($row['cat_padre_id']==0){
?> <p><strong><?php echo $row['categoria']; ?></strong></p>
<?php
} else {
?>
<p><input type="checkbox" name="<?php $row['categoria_id']; ?>"><?php echo $row['categoria'];?></p>
<?php
}}
1º: si hago el GROUP BY por cat_padre_id sólo me aparece una subcategoría cuando en realidad hay 6 (y alrededor de 18 principales).
2º: si lo hago tal cual este código, me aparecen las categorías agrupadas por su cat_padre_id pero sin que éste lo pueda unir con la categoría principal es decir, el listado aparece:
cat 1
cat 2
cat 3
subcat 1.1
subcat 1.2
cat 4
cat 5
etc...
¿Alguna idea sobre cómo hacerlo? He probado a hacerlo con dos consultas pero me surgen los mismos problemas, ¿cómo poder agrupar subcategoría con categoría principal?
Gracias por vuestra atención y ayuda.
Saludos!