30. marts 2003 - 11:22Der er
6 kommentarer og 1 løsning
slet fra neden
jeg har en database der hele tiden bliver fyldt mega hurtigt. jeg vil så gerne have at den skal slette nogle at de nederste. alså fx. der er intastet 5 beskeder: 1hej 2ose 3asd 4dsa 5hmm
så når der bliver skrevet en til besked skal den slette den nederste alså hmm hvordan laver man det? min database ser sådan her ud! # --------------------------------------------------------
# # Struktur dump for tabellen `message` #
CREATE TABLE message ( id int(50) NOT NULL auto_increment, brugernavn varchar(50) NOT NULL default '', besked longtext NOT NULL, rum varchar(50) NOT NULL default '', tid varchar(50) NOT NULL default '', til varchar(6) NOT NULL default '', UNIQUE KEY id (id) ) TYPE=MyISAM;
# # Data dump for tabellen `message` # # --------------------------------------------------------
En løsning ville nok være denne (Du mener vel den skal slette den øverste besked i databasen ? Da de nyeste jo kommer nederst.) Men hvert fald kan dette jo rettes hvis det er.
$msg = mysql_query("SELECT id FROM message"); if(mysql_num_rows($online) > 100){ $delete = "DELETE FROM message ORDER BY ID ASC LIMIT 1"; mysql_query($delete);
$msg = mysql_query("SELECT id FROM message"); if(mysql_num_rows($msg) > 100){ $delete = "DELETE FROM message ORDER BY ID ASC LIMIT 1"; mysql_query($delete);
Mit forslag burde virke, det skal blot sættes der ind hvor alle beskederne sættes ind, så burde den selv slette så der kun er 100 i databasen.
Men ellers hvis du trækker alle disse dataer ud (i en chat f.eks.) Så kan du jo bare til sidst i din select streng skrive LIMIT 30, så viser den kun 30 beskeder.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.