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();	
}

?>