Salve,
ho scritto il codice sottostante, l'obiettivo è quello di creare una chat in ajax senza però dover effettuare chiamate ogni 200/400/500 millisecondi.
Quello che vorrei è:
- Entro nella pagina e tramite una chiamata ajax faccio una richiesta a questa pagina php (il codice è sotto)
- Ogni qualvolta ci sono nuovi messaggi li manda al client
IL PROBLEMA:
Mi metto in ascolto, ricevo il primo messaggio, quando lo script deve inviare il secondo messaggio, oltre ad inviarmi il secondo mi reinvia ancora il primo, perchè?
Grazie!
codice:<?php ob_start(); define( 'MESSAGES_CHECK_INTERVAL', 250000 ); //Connect to database $conn = mysql_connect("localhost","root","root"); $select = mysql_select_db("polling",$conn) or die (mysql_error()); $last_time=$_GET['last_time']; while (true){ $last = check(); foreach ( $last as $msg ){ $last_time=$msg["time"]; echo ($msg["text"]); } usleep( MESSAGES_CHECK_INTERVAL ); } function check(){ global $last_time,$conn; //Retrieve data $array=array(); $retval = mysql_query( "SELECT * FROM chat WHERE time>".$last_time, $conn ); while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) array_push($array,$row); return $array; } function wr($text){ echo $text; flush(); ob_flush(); } ?>

Rispondi quotando
