Foros del Web » Programando para Internet » Jquery »

Problema ordenamiento de comentarios

Estas en el tema de Problema ordenamiento de comentarios en el foro de Jquery en Foros del Web. Bueno, estoy haciendo un "sistema de comentarios" y voy a hacer que los comentarios se vean desde los mas nuevos a los mas viejos, osea ...
  #1 (permalink)  
Antiguo 11/05/2013, 22:26
Avatar de xXn
xXn
 
Fecha de Ingreso: abril-2013
Ubicación: Buenos Aires
Mensajes: 41
Antigüedad: 11 años
Puntos: 2
Problema ordenamiento de comentarios

Bueno, estoy haciendo un "sistema de comentarios" y voy a hacer que los comentarios se vean desde los mas nuevos a los mas viejos, osea en orden descendente.

Cuando refresco la pagina se ve perfecto. Pero el problema es cuando los voy a insertar mediante ajax.

Ejemplo de problema:
Entro a la web y tengo:

cometario3
comentario2
comentario1

Entonces comento y con ajax se me agrega:

Comentario4
Comentario3
Comentario2
Comentario1

Hasta ahi todo en orden, pero si vuelvo a agregar un comentario me aparece asi:

Comentario4
Comentario5
Comentario3
Comentario2
Comentario1


Aca esta la pagina para probar lo que me sucede si no lo entienderon.

http://dyfee.com.ar/stillalive/prueba.php

Y aca esta el codigo:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.    
  3.     $(document).ready(function() {
  4.    
  5.         $("#enviar-btn").click(function() {
  6.    
  7.             var nombre = $("input#usr_nombre").val();
  8.             var coment_text = $("textarea#coment_text").val();
  9.             var id_usr_remitente = $("input#usr_id").val();
  10.             var id_usr_destinatario  = $("input#usuario_id").val();
  11.  
  12.             var now = new Date();
  13.             var date_show = now.getDate() + '-' + now.getMonth() + '-' + now.getFullYear() + ' ' + now.getHours() + ':' + + now.getMinutes() + ':' + + now.getSeconds();
  14.    
  15.             var dataString = 'id_usr_remitente=' + id_usr_remitente + '&id_usr_destinatario=' + id_usr_destinatario + '&coment_text=' + coment_text;
  16.    
  17.             $.ajax({
  18.                 type: "POST",
  19.                 url: "agregarcomentario.php",
  20.                 data: dataString,
  21.                 success: function() {
  22.                     $('#nuevomensaje').append('<div><div><strong><a href="usuarios.php?id='+id_usr_remitente+'">'+nombre+'</a></strong> dice:<br/><small>'+date_show+'</small></div><div>'+coment_text+'</div></div>');
  23.                 }
  24.             });
  25.             return false;
  26.         });
  27.     });
  28.     </script>

Código PHP:
Ver original
  1. <section>
  2.             <article id="nuevomensaje">
  3.             </article>
  4.             <?php
  5.             $sql  = "Select * FROM comentarios WHERE usr_id_destinatario = $usuario_id order by coment_id DESC";
  6.  
  7.             $resultado = mysqli_query($link,$sql);
  8.            
  9.             while($registro = @mysqli_fetch_assoc($resultado)){
  10.                 $sql2 = "SELECT usr_id, usr_nombre FROM usuarios WHERE usr_id =".$registro['usr_id_remitente']."";
  11.                 $resultado2 = mysqli_query($link,$sql2);
  12.                 $usuario = @mysqli_fetch_assoc($resultado2);
  13.             ?>
  14.             <article>
  15.                 <div>
  16.                     <div>
  17.                         <strong><a href="usuarios.php?id=<?php echo $usuario['usr_id']; ?>"><?php echo $usuario['usr_nombre']; ?></a></strong> dice:<br/><small><?php echo $registro['coment_fecha']; ?></small>
  18.                     </div>
  19.                     <div><?php echo $registro['coment_text']; ?></div>
  20.                 </div>
  21.             </article>
  22.             <?php
  23.             }
  24.             ?> 
  25.            
  26.         </section>


Espero que me puedan ayudar asi despues de esto trato de hacer el mismo sistema de comentario con paginacion. Si saben hacerlo mas facil con paginacion incluido y tienen algun ejemplo bienvenido sea :)

Muchas gracias. Saludos
  #2 (permalink)  
Antiguo 11/05/2013, 23:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema ordenamiento de comentarios

Hola:

No sé como funciona .append de tu librería, pero con el DOM, se puede usar insertBefore y firstChild para insertar un nodo como primer nodo de cualquier elemento... antes debes comprobar que existe algún firstChild, porque en caso contrario se debe usar appendChild.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 11/05/2013 a las 23:30 Razón: ortografía
  #3 (permalink)  
Antiguo 13/05/2013, 11:43
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Problema ordenamiento de comentarios

Probaste con utilizar prepend en vez de append?

Etiquetas: ajax, comentarios, input, javascript, ordenamiento, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:07.