/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Mysql Insert Delete Spørgsmål
Fra : Sind_Syggo
Vist : 573 gange
120 point
Dato : 27-09-03 01:20

Jeg har lavet en tabel "nyheder" med 4 felter "id", "overskrift", "dato" og "nyhed". Jeg indsætter nye nyheder ved hjælp af "mysql_query("INSERT INTO nyheder...osv." og alt virker perfekt. "id" er primær nøgle og "auto_increment". De 5 sidste nyheder bliver vist på hjemmesiden ved hjælp af "ORDER BY id DESC LIMIT 0,5". Mit spørgsmål er så.

Kan jeg, på en eller anden måde slette den ældste nyhed når der bliver insat en ny. men først efter de 5 første.?

Jeg er lige startet med at rode med mysql, men jeg tror det er noget med:
mysql_query("INSERT INTO nyheder...osv AND DELETE FROM nyheder WHERE id = ????? (det laveste)

På forhånd tak, håber i har forstået mit spørgsmål..

 
 
Kommentar
Fra : shady


Dato : 29-09-03 18:13

Du kan jo prøve:

$query = mysql_query("SELECT id FROM nyheder ORDER BY id DESC LIMIT 1");
$id = mysql_result($query, 0, "id");
mysql_query("DELETE FROM nyheder WHERE id='$id'");

Kommentar
Fra : Sind_Syggo


Dato : 29-09-03 20:01

Tak for svaret Shady, men den går ikke. Den sletter bare den sidste nyhed. Jeg skal kunne indsætte 5 nyheder uden der sker noget, når jeg så indsætter den 6. nyhed, skal den ældste af de nu 6 nyheder slettes så der hele tiden kun er 5 nyheder.

Accepteret svar
Fra : shady

Modtaget 120 point
Dato : 04-10-03 11:54

Prøv med

Kode
$antal = mysql_query("SELECT * FROM nyheder");
if(mysql_num_rows($query) > 5) {
$query = mysql_query("SELECT id FROM nyheder ORDER BY id DESC LIMIT 1");
$id = mysql_result($query, 0, "id");
mysql_query("DELETE FROM nyheder WHERE id='$id'");
}


Og hvis den sletter den forkerte post, så prøv at ændre linie nummer tre til
Kode
$query = mysql_query("SELECT id FROM nyheder ORDER BY id ASC LIMIT 1");


Jeg er sq ikke lige så god til at holde styr på DESC og ASC... ;)



Godkendelse af svar
Fra : Sind_Syggo


Dato : 04-10-03 12:38

Tak for svaret shady.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste