Hola amigos, les comento mi nuevo problema:
Lo que quiero conseguir es bastante simple, ahora tengo una lista de comentarios a un post que los saco con una consulta a la base de datos, algo asi:
Código PHP:
$sql = mysql_query("SELECT * FROM comentarios WHERE id=$id ORDER BY votospositivos-votosnegativos DESC LIMIT 0,25");
while($row = mysql_fetch_array($sql))
{
$fecha=$row["fecha"];
$hora=$row["hora"];
$mensaje=$row["mensaje"];
// y asi mas datos....
//y ahora voy arrojando el html correspondiente a cada comentario y tal...
echo $mensaje;
}
De este modo, dentro del propio while {} voy sacando los datos de la base de datos y arrojando su correspondiente html, hasta este punto todo funciona perfecto.
El problema viene ahora, existen respuestas a las comentarios, imaginad que al primer comentario le han contestado otros dos comentarios (respuestas) entonces lo que me gustaria hacer, seria que apareciera algo asi:
Comentario 1
Respuesta1 al comentario 1
Respuesta2 al comentario 1
Comentario 2
Respuesta1 al comentario 1
Comentario 3 ..... etc
Ahora para implementarlo, cada respuesta tiene un campo que contiene la id del comentario al que esta respondiendo dicha respuesta, entonces pensé... facil anido dos while {} y hecho, entonces quedaria algo como :
Código PHP:
$sql = mysql_query("SELECT * FROM comentarios WHERE id=$id ORDER BY votospositivos-votosnegativos DESC LIMIT 0,25");
while($row = mysql_fetch_array($sql))
{
$fecha=$row["fecha"];
$hora=$row["hora"];
$mensaje=$row["mensaje"];
$idrespuesta=$row["idrespuesta"]; //este es el campo que contiene la //id de las respuestas a este comentario (las respuestas tambien son //comentarios)
// y asi mas datos....
//y ahora voy arrojando el html correspondiente a cada comentario y tal...
echo $mensaje;
//sin cerrar el { del 1er while, abro otra consulta ( la de las respuestas)
$sql = mysql_query("SELECT * FROM comentarios WHERE idrespuesta=$idrespuesta ORDER BY votospositivos-votosnegativos DESC LIMIT 0,25");
while($row = mysql_fetch_array($sql))
{
$fecha=$row["fecha"];
$hora=$row["hora"];
$mensaje=$row["mensaje"];
// y asi mas datos....
//y ahora voy arrojando el html correspondiente a cada comentario y tal...(en //este caso es una respuesta a un comentario)
echo $mensaje;
}//cierro el while de las respuestas
}//cierro el while de los comentarios
Bueno pues no me funciona, no se si es simplemente algun fallo logico o que no esta permitido anidar dos consultas mysql while($row = mysql_fetch_array($sql))
Alguna idea de lo que me pasa o otra forma de implementarlo???
Un saludo y gracias a todos !!