Cita:
Iniciado por nicolaslt
Buenas
estuve creando un sistema muy básico de foros.
Existe un foro, subforos, categorías y temas.
(cada subforo tiene varias categorias y una categoria tiene varios temas)
Éste código php lo hice para recorrer los subforos y de ahí mostrar las categorías que éste contiene:
Código PHP:
$query="SELECT * FROM categorias WHERE foro='{$_GET['foro']}'";
$response=mysql_query($query);
$query="SELECT * FROM subforos WHERE foro='{$_GET['foro']}'";
$response2=mysql_query($query);
while($row=mysql_fetch_assoc($response2))
{
echo "Categorías del subforo {$row['nombre']}<br/>";
while($row2=mysql_fetch_array($response))
{
if($row2['subforo']==$row['nombre'])
{
echo "{$row2['categoria']}<br/>";
}
}
echo "<br/>";
}
Después de hacer un par de pruebitas, me di cuenta que despues de mostrar las categorías del primer subforo, no muestra las del segundo porque no entra al while anidado.
Gracias por su atención, saludos!!
Hola nicolaslt.. creon que eso te pasa porque no volves a la posicion 0 del arreglo al puntero que recorre en el while de adentro.. lo arreglamos facil xD
Código PHP:
$query="SELECT * FROM categorias WHERE foro='{$_GET['foro']}'";
$response=mysql_query($query);
$query="SELECT * FROM subforos WHERE foro='{$_GET['foro']}'";
$response2=mysql_query($query);
while($row=mysql_fetch_assoc($response2))
{
echo "Categorías del subforo {$row['nombre']}<br/>";
while($row2=mysql_fetch_array($response))
{
if($row2['subforo']==$row['nombre'])
{
echo "{$row2['categoria']}<br/>";
}
}
echo "<br/>";
// Una vez que termino de usar el arreglo de los subforos, lo volvemos a la posicion 0
mysql_data_seek($response,0);
}
Creo que con eso ya esta xD
Probalo y avisame. Saludos!!