Counter: aber eher spezielles Problem...

CrushLog

Erfahrenes Mitglied
Hi,

ich weiss, es gibt diverse Threads zum Thema Counter, ich weiss auch, wie man einen schreibt, so ist das ja nicht ;) Ich hab nur grad ein ziemliches Brett vor dem Kopf, meine Idee:
Ich habe eine Profil Seite, in der die letzten eingeloggten Besucher angezeit werden sollen, alles schln und gut, aber es soll wie folgt ablaufen:
Ein User besucht ein Profil, ein Eintrag in der DB wird erstellt, es wird die Ip, die Zeit, die UserID gespeichert. Bei jedem Visit des Profils soll nun überprüft werden ob der besuchende User innerhalb der letzten 24 h das Profil besucht hat, wenn ja, wird kein Eintrag erstellt, wenn nein soll ein neuer erstellt werden.
Wie gesagt, ich hab grad ein ziemliches Brett vor dem Kopf, theoretisch kann man das ja einfacher lösen, aber ich möchte halt, dass die Einträge in der DB gespeichert bleiben, bis sie mindestens 1 Monat her sind.

Ich hoffe man versteht mich, ist alles etwas schwer zu erklären...
Wäre dankbar über Hilfe, Denkanstösse und sonstiges!

//Crush
 
PHP:
$zeit_check = time ()-24*60*60;
$qry = mysql_query ("select * from `tabelle` where `ip` = '$ip' AND `zeit` > '$zeit_check'");
if (!mysql_num_rows ($qry)) mysql_query ("insert into `tabelle` values ('...')");

:)
 
Ok, das kombiniert mit dem, was da sonst noch rein muss, war das der richtige Denkanstoss, danke :]
Ich glaub ich denk immer ein bisschen zu kompliziert :]

//Edit
Wie erreich ich nun noch, dass er den letzten Eintrag aus der der DB nimmt, der am nächsten am aktuellen Timestamp also an der aktuellen Zeit dran ist?
 
Zuletzt bearbeitet:
Klappt nicht so ganz, ich schreib mal den Query hier rein:

PHP:
$sql1 = mysql_query("SELECT * FROM $tb_userhits WHERE userid='$uid' AND fromid!='$uid' AND fromid!='0' GROUP BY fromid ORDER BY time LIMIT 0,20", $servercon);
 
Zurück