kostenloser Webspace werbefrei: lima-city


MySQL: Die älteste Nachricht löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. oh man sehr kompliziert
    ich würde einfach abzählen lassen sodass es einfach nur die 10 neusten nachrichten anzeigt
  4. s********r

    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
  5. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.


    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
  6. s********r


    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
  7. e********l

    einfach 2 Nachrichten nutzen. Selbe Nachricht für Sender und Empfänger zu nutzen ist zwar von der Speichermenge her schön, aber darauf kann man auch pfeifen.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!