V chatu zobrazit jen 30 zpráv a ostatní smazat
31 příspěvků · strana 2 z 2
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Hmmm mas pravdu problem je v LIMIT 30,100 u DELETE totiz muze byt LIMIT pouzit pouze s jednim cislem a to oznacuje kolik zaznamu se ma smazat. Ja na svim chatu to mam udelany tak za mazu vsechny zpravy starsi jak 10 minut. $time = Time() + 600; mysql_query("DELETE FROM chat WHERE Time<$time"); To je asi nejjednodussi reseni.
-
a co to udelat ne jen pomoci selectu, ale trosku do toho zaplyst php, zas tolik to nicemu neuskodi, hlavne ze to funguje ;-) .. $time = ..... select `time` ... limit 30,1; (to by mel byt 30.radek, jestli ne oprav si to) .. a dal presne tak jak to ma bohdan, akorat uplne jinak ;-) delete ... where `time` < '$time'
-
2lynx: Tak uplne sem nepochopil proc do toho michat SELECT 2Bery: Prez noc me napadlo jak by se to dalo udelat tim zpusobem jak to chces. $result = mysql_query("SELECT * FROM zpravy"); $pocet = mysql_num_rows($result); if($pocet > 30) { $smazat = $pocet - 30; mysql_query("DELETE FROM vzkazy ORDER BY id LIMIT $smazat"); } Netestoval sem to, ale snad to bude chodit.
-
Pro Bohyna: Sice Ti děkuju za snahu, ale stejně mi to nic nemaže :(. A zas to žádnou chybu ani nehlásí. Čim to? /* SMAZÁNÍ VZKAZŮ */ $result = MySQL_Query("SELECT * FROM vzkazy"); $pocet = MySQL_Num_Rows($result); if($pocet > 30) { $smazat = $pocet - 30; MySQL_Query("DELETE FROM vzkazy ORDER BY datum LIMIT $smazat"); } /* VYPSÁNÍ VZKAZŮ */ $query = MySQL_Query("SELECT * FROM vzkazy ORDER BY datum DESC"); . . .
-
Mysql chyby hlasi pomoci fce mysql_error. Ta vrati chybu (pokud nastala) z posledni mysql fce.
-
no jo :o) Já sem blb