MySQL: Die älteste Nachricht löschen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alten nachrichten
auftauchen
besitzen
dementsprechende nachricht
feld
frage
halbe jahr
http
limit
nachricht
neuesten nachrichten
neusten nachrichten
nutzen
ordern
pfeifen
postfach
sender
setzen
system
tabelle
-
Hallo,
ich arbeite gerade an einem Nachrichten-System mit PHP. Nun will ich es so machen, dass wenn ein User mehr als 10 Nachrichten hat, die älteste Nachricht gelöscht wird, damit in seinem Postfach somit max. 10 Nachrichten sein können. Nur die Frage: wie realisiere ich es, dass der Wert del_user1 (welcher angibt, ob der user die Nachricht schon gelöscht hat, weil ganz löschen kann ich sie ja noch nicht, da ja auch noch ein anderer die Nachricht besitzen könnte (Sender/Empfänger)) auf true gesetzt wird, wenn die dementsprechende Nachricht die älteste die des Users ist.
Ich hoffe, ihr versteht was ich meine.
lg
Vali -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
oh man sehr kompliziert
ich würde einfach abzählen lassen sodass es einfach nur die 10 neusten nachrichten anzeigt -
Wozu auf gelöscht setzen, wenn du sowieso nichts komplett löschen möchtest? Du könntest ja einfach mit einem Limit regeln, dass nur die 10 neuesten Nachrichten angezeigt werden. Ich nehme Mal an, dass du MySQL verwendest (alles andere wäre für sowas unsinnig) und poste dh. Mal dieses Query:
SELECT * FROM nachrichten ORDER BY timestamp DESC LIMIT 10
Dabei musst du einfach im Feld timestamp jeweils den Unix-Timestamp einfügen ;)
MfG
sebigisler -
Ich nehme Mal an, dass du MySQL verwendest
Naja, ich habe gedacht, der Titel genügt...
Ah, danke, jetzt habe ich gerade eine Idee: ich lasse hald nur die 10 neusten Nachrichten ausgeben, wie sebigisler und reimann schon gesagt haben, und jedes halbe Jahr lösche ich dann hald über einen Adminbereich aus alle \"alten\" Nachrichten. Eine Frage noch zu deinem Query, sebigisler:
SELECT * FROM nachrichten ORDER BY timestamp DESC LIMIT 10
der Timestamp muss dann auch in der Tabelle gespeichert werden, oder speichert es den automatisch?
lg
Vali
-
Ich nehme Mal an, dass du MySQL verwendest
Hätte auch genügt ;) Ich hab ihn aber schlichtweg überlesen.
der Timestamp muss dann auch in der Tabelle gespeichert werden, oder speichert es den automatisch?
Den Timestamp musst du manuell abspeichern; ich nehme jeweils den timestamp gleich für die ID und hänge noch eine zufällig generierte Zahl an, damit bei gleichzeitig gemachten DB-Einträgen keine identischen IDs auftauchen.
http://de.php.net/manual/de/function.time.php
MfG
sebigisler -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage