Du kunne f.eks. gemme det største id i en var og så kun hente de nyeste rækker ud. Noget i retning af: $id = 0; while(1) { $query = mysql_query("SELECT * FROM tabel WHERE id > $id"); while($vis = mysql_fetch_array($query)) { print "$vis[tekst]<br>\n"; $id = $query["id"]; } flush; sleep(2); }
Den ignorerer min LIMIT 0.15 og skriver: Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\site\projekter\chat\test\chat_ny\besked_show2.php on line 14
Nu har jeg denne kode Men den resulterer i at den henter 15 linier HVER gang.. Det er menignen den KUN skal vise de 15 med det højeste id, kan man det?
<?php $id = 0; while(1) { sql_kommando = " SELECT * FROM chatbeskeder WHERE id > $id ORDER BY id DESC LIMIT 0, 15 "; $query = mysql_query($sql_kommando) or die( mysql=error() ); while($vis = mysql_fetch_array($query)) { print "$vis[besked]<br>\n"; $id = $id+1; } flush; sleep(2); } ?>
PS: du vil nok næppe få det til at virke andre steder end på en server der er din egen. det holder en connection permanent åben, og det er der ikke mange udbydere der har råd til at tillade at du har.
PS: du skulle vel aldrig have fået et tåbeligt råd om at sætte error_level til none ? Hvis man overhovedet gør det så er det ihvertfald først efter man har debugget sin kode.
$query = mysql_query("SELECT * FROM chatbeskeder ORDER BY ID DESC LIMIT 0, 15"); while($vis = mysql_fetch_array($query)) { print "$vis[besked]<br>\n"; $i = $i + 1; } flush; sleep(2); } ?> Den virker med limit... Nu skal den tjekke om der er kommet nye beskeder siden den er blevet vist... HVORDAN gør man det?
Det gør du allerede. ny meddelelser får et nyt (højere) id og bliver så vist næste gang igennem løkken.
men det er lidt fjollet at connecte til din databade hvergang igennem løkken. Gør det udenfor:
<?php
$host = "localhost"; // Host $pass = "response"; // Kodeord // når du engang lægger siden på nettet så husk at bruge et andet // kodeord, nu hvor vi har fået dette at vide. $user = "root"; // Bruger $db = "kawzhotel"; // Database mysql_connect($host,$user,$pass); mysql_select_db($db);
$i = 0; while ($i < 5) {
$query = mysql_query("SELECT * FROM chatbeskeder ORDER BY ID DESC LIMIT 0, 15"); while($vis = mysql_fetch_array($query)) { print "$vis[besked]<br>\n"; $i = $i + 1; } flush; sleep(2); } ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.