ich habe mir einen Counter in PHP programmiert der mit MySQL arbeitet.
Dieses Script speichert 2 Tage lang alle Ips + Zeitpunkt.
Damit möchte ich dann die User die gestern und heute auf meiner Seite waren auslesen.
Ist ein eintrag älter als 2 Tage wird er automatisch gelöscht. Nun wurde aber leider zm 1 Dezember auch meine Einträge von "Gestern" gelöscht.
Wie kann ich diesen Bug beheben?
<?php
//Online-abfragen / löschen
$result = mysql_query("DELETE FROM hp_counter_online WHERE DATE_ADD(time, INTERVAL ".$online_interval." MINUTE) < NOW()");
// Wenn noch nicht als online eingetragen als neuer Besucher für heute eintragen
if(mysql_num_rows(mysql_query("SELECT ip FROM hp_counter_online WHERE ip='".IP."'")) <= 0){
// Eintragen in Onlinetabelle
mysql_query("INSERT INTO hp_counter_online (ip, time, place ) VALUES ('".IP."',NOW(), '".PAGE."')");
// Eintragen in User heute/gestern - Tabelle
mysql_query("INSERT INTO hp_counter_heute (ip, time) VALUES ('".IP."',NOW())");
}else{
// Ort updaten
mysql_query("UPDATE hp_counter_online SET time = NOW(), place = '".PAGE."' WHERE ip='".IP."'");
}
//alle Einträge die älter als 2 tage sind löschen... hier steckt dnke ich der Fehler
mysql_query("DELETE FROM hp_counter_heute WHERE DATE_FORMAT(time, '%d') < DATE_FORMAT(NOW(), '%d')-1");
// Auslesen
$u_today=mysql_num_rows(mysql_query("SELECT ip FROM hp_counter_heute WHERE DATE_FORMAT(time, '%d') = DATE_FORMAT(NOW(), '%d')"));
$u_yesterday=mysql_num_rows(mysql_query("SELECT ip FROM hp_counter_heute WHERE DATE_FORMAT(time, '%d') = DATE_FORMAT(NOW(), '%d')-1"));
?>
Gruß,
Toasterfraktion
Dieser Beitrag wurde von Toasterfraktion bearbeitet: 01. Dezember 2008 - 18:18

Hilfe
Neues Thema
Antworten



Nach oben

