MySQL - radera gamla rader efter x antal nya
Som frågan lyder, jag vill på något sätt få ett PHP-skript att automatiskt ta bort den äldsta raden när det finns fler än x rader (t.ex. 10). Varför? Jo, för jag har implementerat ett WYSIWYG-verktyg i en hemsida och när informationen sparas från detta (TinyMCE) sparas det såklart en ny rad för varje redigering och det kan bli många rader efter ett tag.
Testade denna koden:
$result = mysql_query("SELECT * FROM text_index2");
while($row = mysql_fetch_array($result)){
mysql_query("DELETE FROM text_index2 ORDER BY id LIMIT 1");
}
inuti denna if-satsen:
if(isset($_POST['Editor_index2'])){ // START
if (!$connect){
die('Could not connect: ' . mysql_error() . ' - Kontakta mig för hjälp med detta felet.');
}
mysql_select_db("$database", $connect);
mysql_query("CREATE TABLE IF NOT EXISTS `$database`.`text_index2`(
`id` INT UNSIGNED AUTO_INCREMENT,
`text_index2` TEXT NOT NULL,
PRIMARY KEY ( `id` )
)");
$sql = "INSERT INTO text_index2 (text_index2) VALUES ('$_POST[Editor_index2]')";
if (!mysql_query($sql,$connect)){
die('Error: ' . mysql_error() . ' - Kontakta mig för hjälp med detta felet.');
}
$result = mysql_query("SELECT * FROM text_index2");
while($row = mysql_fetch_array($result)){
mysql_query("DELETE FROM text_index2 ORDER BY id LIMIT 1");
}
echo '<p>Dina ändringar på START-sidan sparades.</p><p><a href="edit_index2.php">Fortsätt redigera samma sida.</a></p>
<p><a href="editpage.php">Välj annan sida att redigera.</a></p><p><br /></p><p><a href="delete_from_database.php?delete=index2"
onclick="return confirm(\'Vill du verkligen ta bort dina ändringar? Denna process går ej att ångra.\');">Ångra dina ändringar.</a></p>';
mysql_close($connect);
}
Fick ett problem med detta och det var om jag skrev in något i en TOM tabell så togs det ju bort direkt *facepalm*
Så jag testade nåt sånt här:
$result = mysql_query("SELECT * FROM text_index2");
if($result['id'] > 5){
mysql_query("DELETE FROM text_index2 ORDER BY id LIMIT 1");
}
Funkade såklart inte, men något sånt liknande vill jag ha.
Kom ihåg att jag är novis på detta med PHP och MySQL så var inte för hård mot mig om det är lätt att lösa