Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Creen que esta es la mejor manera de recibir datos ajax sql?

Estas en el tema de Creen que esta es la mejor manera de recibir datos ajax sql? en el foro de Frameworks JS en Foros del Web. bueno, no detallare todo el codigo, solo detallare lo importante es un muro de comentarios tipo twitter. agrego comentarios en la base de datos y ...
  #1 (permalink)  
Antiguo 18/08/2012, 17:18
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Creen que esta es la mejor manera de recibir datos ajax sql?

bueno, no detallare todo el codigo, solo detallare lo importante


es un muro de comentarios tipo twitter.
agrego comentarios en la base de datos y los cargo con ajax cada 1 segundo donde verifico si hay algo nuevo, de ser asi hago lo siguiente: y los leo

$limite=$filastotalactual- $filastotalanteriores;

select * from comentarios limit".$limite;

$(respuesta).insertAfter("#"+divid);

$filastotalanteriores=$filastotalactual;

eso se encarga de leer cada 6 segundos los ultimos comentarios
pero yo lo que quiero es agregar el comentario mio asi $(respuesta).insertAfter("#"+divid); y verlo rapidamente.
entonces lo que ocupo es modificar el sql de lectura para que solo me muestre los comentarios de la otra persona y no los mios, ya que los mios los abre agregado cuando los envie.
hice algo asi modificando lo anterior

select * from comentarios where idusuario<>session['id'] limit".$limite;
eso hace que solo me traiga los comentarios del otro usuario, el problema es
que si el otro usuario me envia 1 comentario y yo le envio otro al mismo tiempo, entonces la variable limite valdra 2. osea me traera los ultimos dos, pero no los ultimos 2 nuevos si no uno nuevo y uno anterior al nuevo, y eso ocurre por que no traera lo que hay en mi id.
ejemplo

pc1 envia un coment id 5
pc2Mia envia un coment id 6


$limite=$filastotalactual- $filastotalanteriores;
osea
$limite=6- 4
osea 2
pero como la consulta no traera mi id por el filtro que puse entonces me traera los coments con posicionid 5 y 4.
en vez de 6 y 5

todo esto lo quiero hacer para ver mi coment imediatamente de que lo púse para dar la impresion de que es un sistema muy rapido como el face o el twitter

como debo hacerle? ya tengo tiempo batallando en esto. alguna sugerencia
de antemano gracias XD
  #2 (permalink)  
Antiguo 19/08/2012, 02:12
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Creen que esta es la mejor manera de recibir datos ajax sql?

Cambia la consulta sql con la que compruebas $filastotalactual (si no lo es, crea una). Así tendrás el número de comentarios de los otros usuarios

Código PHP:
Ver original
  1. $filastotalactual = mysql_select("select * from comentarios where idusuario<>session['id']");
  2. $filastotalactual = mysql_num_rows($filastotalactual);

Esto te arregla el problema, y solo deberás poner que al enviar un comentario se muestre por JavaScript (además de guardarse en la base de datos, pero no se mostrará ):
Código Javascript:
Ver original
  1. $(respuesta).insertAfter("#"+divid);

Saludos!
  #3 (permalink)  
Antiguo 19/08/2012, 09:30
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Creen que esta es la mejor manera de recibir datos ajax sql?

Muchisimas gracias 3nr1c eso funciono perfectamente, como no se me habia ocurrido jejs
no utilice el mysqlnumrows pero la idea la agarre y funciono, muchas gracias, no dure ni 3 minutos en aplicarlo y yo ya tenia 5 dias buscando como hacer eso, y ya funciona :D
  #4 (permalink)  
Antiguo 20/08/2012, 16:01
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Creen que esta es la mejor manera de recibir datos ajax sql?

creo que se soluciono con lo que me dijiste solo que lo tenia mal aplicado gracias

Última edición por minombreesmm; 20/08/2012 a las 17:44

Etiquetas: ajax, comentarios, real, sistema, verificar
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:17.