Mysterio N Skrevet 11. august 2010 Del Skrevet 11. august 2010 Har lagd en chat i php. Den fungerer veldig bra bortsett fra at den ikke oppdaterer seg automatisk når en ny post er postet. Har prøvd Javascript(grunnet det måtte jeg ha selve chatten i iframe for å ikke oppdatere hele sida), men da hopper iframet opp til toppen og det er ikke noe jeg ønsker. Svar mottas med takk. Koden for visning av chat: <?php include("mysql.php"); mysql_connect("$host", "$username", "$password") or die(mysql_error()); // Connect to MySQL server mysql_select_db("$db") or die(mysql_error()); // Select MySQL Database $sql="SELECT * FROM chat"; $result=mysql_query($sql); while($rows=mysql_fetch_array($result)){ $fm = ereg_replace("", "<img src='smiley.jpg' border='0px'>", $rows['message'] ); ?> <p align="top"><? echo $rows['posted']; ?>: <? echo $fm; ?> <?php } mysql_close(); ?> Lenke til kommentar
Warz Skrevet 11. august 2010 Del Skrevet 11. august 2010 Jeg ville brukt jQuery hvis jeg var deg. Laget nylig en chat med det og det fungerer veldig bra. Skal ikke poste hele kildekoden her, men kan poste hvordan jeg sender inn melding og hvordan jeg mottar: Når bruker sender inn melding: #chat er input feltet. function sendMessage() { $.post("<?php echo site_url('chat/process'); ?>",{ 'message' : $("#chat").val() }, function(data) { if(data.result == 'success') { $("#chat").val(""); getMessages(); } else if(data.result == 'loggedout') { $('#msg-messages').prepend("<strong>Ooops.. It seems you are logged out. Please login again.<br/></strong>"); } else if(data.result == 'toolong') { $('#msg-messages').prepend("<strong>Message too long!<br/></strong>"); } }, "json"); } Når bruker skal hente ut meldinger #msg-messages er hvor alle meldingene vises. function getMessages() { $.post("<?php echo site_url('chat/retrive'); ?>",{ 'timestamp' : timestamp }, function(data) { if(data.result == 'success') { $('#msg-messages').html(data.html); timestamp = data.timestamp; } else { // debug alert('sorry it failed'+data.result); } }, "json"); } Fordelen her er at hele websiden ikke trenger å oppdatere seg og chatten vil pinge serveren f.eks en gang i sekundet (eventuelt raskere) etter nye meldinger. Med en gang ny melding er kommet inn blir chatten oppdatert. Jeg er nybegynner på jQuery, så skal ikke garantere at dette er den mest optimale løsningen jeg jobber fortsatt med chatten. Men det er i hvertfall en god start vil jeg tro. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå