Foros del Web » Programando para Internet » PHP »

Concatenar variables en while

Estas en el tema de Concatenar variables en while en el foro de PHP en Foros del Web. Hola! Tengo una duda... ya que estoy haciendo un chat. Con javascript, el código se recarga cada segundo en busca de nuevos mensajes. Yo quiero ...
  #1 (permalink)  
Antiguo 19/05/2009, 08:22
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años, 7 meses
Puntos: 0
Concatenar variables en while

Hola!

Tengo una duda... ya que estoy haciendo un chat.

Con javascript, el código se recarga cada segundo en busca de nuevos mensajes.

Yo quiero almacenar todos los registros en una variable... pero con diferencias entre registro y otro (un <hr />).

Luego muetsro esta variable y me deberían de salir todos los mensajes....

Código PHP:
$sql=mysql_query("SELECT * FROM `chat`");

$divtextarea="<hr />";

while(
$sql=mysql_fetch_assoc($sql)){

$divtextarea=$divtextarea $sql['message'] . "<hr />";

}

$divtextarea=$divtextarea "<hr />"
Pero no va... solo me sale el primer registro.

_____
registro
____
____

Es decir... sale:

un hr, el primer registro.. y dos hr's más.

Saludos y espero que me entiendan
  #2 (permalink)  
Antiguo 19/05/2009, 08:39
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: Concatenar variables en while

Seguramente el campo 'message' este vacio, asegurate que los registros en la tabla 'chat' tengan mensaje.

También te recomiendo que aumentes un poco el tiempo de refresco del JavaScript ya que un segundo es demasiado poco y corres el riesgo de generar trafico innecesario en tu servidor.

Saludos!
  #3 (permalink)  
Antiguo 19/05/2009, 08:45
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Concatenar variables en while

Gracias...

¿Cuánto tiempo de recarga me aconsejas para un chat?

-- Ahora lo he solucionado cambiando el nombre a la variable del mysql_query

Código PHP:
<?php

$sqlx
=mysql_query("SELECT * FROM `chat`");

$divtextarea="<hr />";

while(
$sql=mysql_fetch_assoc($sqlx)){

$divtextarea=$divtextarea $sql['message'] . "<hr />";

}

$divtextarea=$divtextarea "<hr />";

?>
ya me muestra todos los registros... pero ahora el problema es que al recargarse el script javascript, no se recarga el de pHP... y no encuentra los nuevos registros.

pd:. El javascript sí se recarga porque lo he comprobado. Lo que permanece igual es el resultadodel query.. hice un unset($sql) al final del javascript y no va.

Saludos!
  #4 (permalink)  
Antiguo 19/05/2009, 08:47
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 17 años, 3 meses
Puntos: 23
Respuesta: Concatenar variables en while

el problema esta aqui "$sql=mysql_fetch_assoc($sql)" utilizas la misma variable para el fetch y para el resultado de la consulta...

Edit: ups que choque

Creo qu edeberias poner un poco mas d etu codigo para revisar a que te refieres...
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #5 (permalink)  
Antiguo 19/05/2009, 08:51
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Concatenar variables en while

jeje...

Gracias de todos modos..

Este es el código (Antes de eso está la conexión a la bd)

Código PHP:
<script type="text/javascript">      

function mensajes(){

setInterval(vermsg,1500);

}

//Volver a sacar los mensajes cada 2 segundos

var paco=0;

function vermsg(){

paco++;

<?php

$sqlx
=mysql_query("SELECT * FROM `chat`");

$divtextarea="<hr />";

while(
$sql=mysql_fetch_assoc($sqlx)){

$divtextarea=$divtextarea $sql['message'] . "<hr />";

}

$divtextarea=$divtextarea "<hr />";

?>

document.getElementById('textarea').innerHTML="<?php echo $divtextarea?><hr />" + paco;

<?php
//destruir el div
unset($sql);
?>

}
</script>
No sé de qué puede ser el problema.... de todos modos hay un tema en javascript
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 13:12.