Letzten 3 Profilbesucher anzeigen - rest -> löschen

proloser

Erfahrenes Mitglied
Hallo,

ich habe in meiner Datenbank IDs von Benutzer gespeichert um im jeweiligem Benutzerkonto anzuzeigen wer auf meinem Profil war.

id | user_1 | user_2

Benutzer mit ID: 12
1 | 12 | 19
2 | 12 | 20
3 | 12 | 45

Benutzer mit ID: 13
4 | 13 | 18
5 | 13 | 100
6 | 13 | 50


Nun möchte ich damit immer nur die letzten 3 Profile angezeigt werden und der Rest gelöscht wird. Es darf also in der Spalte (user_1) immer nur 3 einträge von den verschiedenen IDs geben.

Hab es schon herbekommen damit immer nur 3 Einträge stehen bleiben und der rest gelöscht wird, bringt mir aber nicht wirklich was ....

Wie stell ich das am besten an?

MfG
proloser
 
kannst du auch mit nem Trenner und nur einer Zeile machen ;)

Code:
id userid lastusers
5  6          56;43;48
6  12         87;65;22
7  4          12;6;56
.  .          ...
.  .          ...
.  .          ...

Die erste userid löschst du dann einfach und schreibst die neue hinten dran.

nehmen wir mal die Zeile:
6 12 87;65;22

Jetzt kommt der User mit der userid 4 dazu:
87;65;22;4

Dass sind aber zuviele ;)
Also löschst du die erste Nummer, sodass du am Ende nur noch das in der Datenbank stehen hast:
6 12 65;22;4

Viele Grüße
 
Vielen Dank,

wie mach ich damit bei der ersten Zahl das ( ; ) nicht geschrieben wird?

Code:
mysql_query("UPDATE `user` SET `lastvisitors` = CONCAT(last_profilevisitors, ';".$_SESSION["session_userid"]."') WHERE `id` = '".$_GET["id"]."'");

MfG
proloser
 
Hallo,
ich hab es jetzt so gelöst:

PHP:
    if(!$row["last_profilevisitors"]) {
      mysql_query("UPDATE `user` SET `last_profilevisitors` = CONCAT(last_profilevisitors, '".$_SESSION["session_userid"]."') WHERE `id` = '".$_GET["id"]."'"); 
    } else {
      mysql_query("UPDATE `user` SET `last_profilevisitors` = CONCAT(last_profilevisitors, ';".$_SESSION["session_userid"]."') WHERE `id` = '".$_GET["id"]."'"); 
    }

Jetzt hab ich allerdings immer noch das Problem damit ich nur die letzten 3 speichern möchte und die restlichen löschen möchte, wie mach ich das am besten?

MfG
proloser
 
Zurück