Hola a tod@s:
Hace poco que estoy con php y mysql y me estoy volviendo loca intentando solucionar un problema. A ver si podéis ayudarme.
El resultado que pretendo es este:
MARCA 1
Familia 1
- Serie a de la familia 1
- Serie b de la familia 1
- Serie d de la familia 1
Familia 2
- Serie c de la familia 2
(...)
Lo que he conseguido es esto:
MARCA 1
Familia 1
- Serie a de la familia 1
- Serie b de la familia 1
- Serie c de la familia 2
Familia 2
- Serie d de la familia 1
(...)
El código: Código PHP:
<?php
include ('incs_db/db_connect.php');
$conn = db_connect();
$query =
"
SELECT *
FROM marcas_familias
WHERE id_marca = $id
";
$query_s =
"
SELECT *
FROM marcas_familias, marcas_series
WHERE id_marca = $id
AND marcas_familias.id_familia = marcas_series.id_familia
";
$result = @$conn->query($query);
$num_result = $result->num_rows;
$result_s = @$conn->query($query_s);
$num_result_s = $result_s->num_rows;
for ($i=0; $i<$num_result; $i++)
{
$row = $result->fetch_assoc();
echo $row['familia'];
echo "<br />";
for ($j=$row['id_familia']; $j<$num_result_s; $j++)
{
$row_s = $result_s->fetch_assoc();
echo $row_s['serie'];
echo "<br />";
}
echo "<br />";
}
$result->free;
$conn->close();
?>
Pienso que el problema está en la condición del segundo for, pero por más vueltas y pruebas que he hecho, no he conseguido hayar la solución.
Gracias a todos.