Ouwe rakker |
|
Maak een aparte tabel in je database waarin hij bijhoudt welk userid op bezoek is geweest bij wie.
+----------+-------------+-------------+
| userid | visitorid | timestamp |
+----------+-------------+-------------+
| int | int | datetime |
+----------+-------------+-------------+ | userid | visitorid | timestamp | +----------+-------------+-------------+ | int | int | datetime |
Een voorbeeldcode hoe je zoiets kan implementeren ziet er dan als volgt uit:
<?php
/**
* Controleren of iemand al een keer op bezoek geweest is op dit profiel.
* Mocht dat zo zijn dan hoeven we alleen de timestamp van het laatste
* bezoek te updaten. Anders maken we gewoon een nieuwe entry.
*
* Houd er wel rekening mee dat ik in dit voorbeeld niet controleer;
* - of het userid wel echt een getal is
* - of de user met dit userid wel bestaat
* - of de gebruiker die het bezoekje aflegt ook ingelogd is
*/
$qUpdateVisit = mysql_query("UPDATE profilevisit
SET timestamp = NOW()
WHERE userid = " . intval($_GET['userid']) . "
AND visitorid = " . intval($_SESSION['userid']));
if (mysql_affected_rows() == 0) {
/**
* Omdat we geen rijen hebben kunnen updaten die voldoen aan de eisen
* die we gesteld hebben, is de huidige gebruiker voor de eerste keer
* op het profiel van deze user. Nu gaan we hem dus gewoon even invoeren
*/
$qInsertVisit = mysql_query("INSERT INTO profilevisit (userid, visitorid, timestamp)
VALUES (" . intval($_GET['userid']) . ",
" . intval($_SESSION['userid']) . ",
NOW())");
}
<?php /** * Controleren of iemand al een keer op bezoek geweest is op dit profiel. * Mocht dat zo zijn dan hoeven we alleen de timestamp van het laatste * bezoek te updaten. Anders maken we gewoon een nieuwe entry. * * Houd er wel rekening mee dat ik in dit voorbeeld niet controleer; * - of het userid wel echt een getal is * - of de user met dit userid wel bestaat * - of de gebruiker die het bezoekje aflegt ook ingelogd is */ SET timestamp = NOW() WHERE userid = " . intval($_GET['userid']) . " AND visitorid = " . intval($_SESSION['userid'])); /** * Omdat we geen rijen hebben kunnen updaten die voldoen aan de eisen * die we gesteld hebben, is de huidige gebruiker voor de eerste keer * op het profiel van deze user. Nu gaan we hem dus gewoon even invoeren */ $qInsertVisit = mysql_query("INSERT INTO profilevisit (userid, visitorid, timestamp) VALUES (" . intval($_GET['userid']) . ", " . intval($_SESSION['userid']) . ", NOW())"); }
|