Hejsa. Jeg sidder med et problem med min "mini-live-ajax-chat".
Når en bruger skriver en besked, kommer det i databasen, hvor man har sat en "timestamp" som er <?=time();?>.
Jeg laver en opdatering af nye beskeder hvert 4. sekundt, således:
setInterval("spil.AjaxPlatform('getMessages.php?game_id=<?php echo $_GET['game_id']; ?>')", 4000);
-- Men den henter beskederne enten forkert, eller også spammer den stedet hvor beskederne skal være, eller også kommer der slet ikke noget..
Min getMessages.php ser sådan her ud:
$hent = mysql_query("SELECT id, brugernavn, tekst FROM chat_beskeder WHERE game_id = " . base64_decode($_GET['game_id']) . " AND tid < " . (time()+8) . "") or die(mysql_error());
while ( $row = mysql_fetch_assoc ( $hent ) )
{
echo $row['id'] . "|" . $row['brugernavn'] . "|" . $row['tekst'] . "#";
}
mysql_query("DELETE FROM chat_beskeder WHERE tid < " . (time()-18) . "") or die(mysql_error());
Håber virkelig en kan få det til at fungere. Har slet ikke styr på det med tidstamperne osv længere, da min hjerne p.t er baaaag ud :-)
Her håndterer jeg beskederne osv i ajax(javascript):
spil.HandleChatMessages = function (data)
{
var data2 = data.split("#");
var lastone = data2.length;
for( i = 0;i < data2.length-1; i++ )
{
data1 = data2[i].split("|");
if ( mes[data1[0]] == data1[2])
{
/** hmm **/
} else {
document.getElementById('chat_messages').innerHTML += "<strong style=\\"font-size:12px;\\">" + data1[1] + "</strong>: " + data1[2] + "<br />";
mes[data1[0]] = data1[2];
}
}
};
På forhånd tak.