Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2012, 04:38
edie8
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 13 años
Puntos: 10
comentarios agrupados

Buenos dias.
estoy haciendo un sistema de comentarios, y tengo unos que son generales y otros secundarios por asi decirlo, el caso es el siguiente, yo tengo unos cuyo id_comentario es 0 es decir es el general y otros tienen el id del comentario al que pertenecen.
esta es la tabla:
id id_logueado id_comentario comentario respuesta
1 1 0 hola 1
2 2 1 hola 1
donde: id es el autoincrementable, id_logueado es el user que comenta, id_comentario es el id del comentario al que pertenece, comentario es donde se guardan estos comentarios y respuesta es el que dice si hay ono respuesta es decir, 0 no hay respuesta a este comentario general, 1 si la hay.
el codigo php que uso para sacar los comentarios es este:
Código PHP:
Ver original
  1. <style>
  2. #comen{
  3. background:#CCCCCC;
  4. margin-bottom:5px;}
  5. </style>
  6. <form action="registrar.php" method="post">
  7. <input type="hidden" value="0" name="form"/>
  8. <input type="text" name="comentario" />
  9. <input type="submit" value="enviar" />
  10. </form>
  11.  
  12. <?php
  13.  
  14. include('config.php');
  15. $comentarios=mysql_query("select * from comentarios",$conexion);
  16. while($comen=mysql_fetch_array($comentarios))
  17. { $id_comen=$comen['id'];
  18. if($comen['id_comentario']=="0" and $comen['respuesta']=='0')
  19. { echo $comen['comentario'];
  20. echo '<form action="registrar.php" method="post">
  21. <input type="hidden" value="'.$comen['id'].'" name="form"/>
  22. <input type="text" name="comentario" />
  23. <input type="submit" value="enviar" />
  24. </form>';
  25. }
  26. elseif($comen['id_comentario']=='0' and $comen['respuesta']=='1'){
  27. $otro=mysql_query("select * from comentarios where id_comentario='$id_comen'",$conexion);
  28. while($com=mysql_fetch_array($otro))
  29. {
  30. echo '<div id="comen">';
  31. echo $comen['comentario']."<br>";
  32. echo $com['comentario'];
  33. echo '<form action="registrar.php" method="post">
  34. <input type="hidden" value="'.$comen['id'].'" name="form"/>
  35. <input type="text" name="comentario" />
  36. <input type="submit" value="enviar" />
  37. </form>';
  38. echo '</div>';}}
  39. }
  40. ?>
el problema se me agrupan de dos en dos, es decir, se agrupa el 0 y la primera respuesta luego ya no, dejo el codigo del registro y 2 capturas:
Código PHP:
Ver original
  1. <?php
  2. header('location:index.php');
  3. include('config.php');
  4. $id='1';
  5. $comentario=$_POST['comentario'];
  6. $form=$_POST['form'];
  7. if($form=='0')
  8. {
  9.     $insertar=mysql_query("insert into comentarios (id,id_logueado,id_comentario,comentario,respuesta) value ('null','$id','$form','$comentario','0')",$conexion);
  10. }
  11. else
  12. {
  13.     $insertar=mysql_query("insert into comentarios (id,id_logueado,id_comentario,comentario,respuesta) value ('null','$id','$form','$comentario','1')",$conexion);
  14.     $modifica=mysql_query("update comentarios set respuesta='1' where id='$form'",$conexion);
  15. }
  16. ?>


lo que me gustaria es que todos los comen tanto el de id x como todos los que tienen ese id en el id_comentario salieran juntos pero nose que hago mal.
gracias de antemano un saludo.