Ich füge folgenden Code in die DB ein:
$dbnamedate=date(‘d_m_y’);
$ip= $_SERVER[‘REMOTE_ADDR’];
$sql=“ALTER TABLE ip ADD $dbnamedate VARCHAR( 255 ) NOT NULL ;”;
$sql=“INSERT INTO djrazr.ip (id ,$dbnamedate)VALUES (‘NULL’, ‘$ip’);”;
$result=mysql_Query($sql,$db);
Dannach habe ich eine neue Reihe die nach dem aktuellen Datum benannt ist und in dieser füge ich die IP ein…
Nun möchte ich das mein Programm in dieser Tagesaktuellen Reihe nachschaut ob $ip schon vorhanden ist und mir dann eben true oder false zurrückgeben…
Ich versuchte folgendes ohne Erfolg:
$sql=“select * from ip”;
$result=mysql_query($sql,$db);
$row=mysql_fetch_array($result);
$iprow=$row["$dbnamedate"];
echo $iprow;
if($ip==$iprow)…
Das gibt es nicht . ich bin nicht nur ein Threadleichenschänder sondern auch ein selbstverbesserer…
Habe jez 2 Tage an dem Problem gehangen … diesen Post geschrieben und DANNACH den Denkfehler erkannt…
$sql=“select * from ip where $dbnamedate=’$ip’”;
$result=mysql_query($sql,$db);
$row=mysql_fetch_array($result);
$iprow=$row["$dbnamedate"]; …Hat sich erledigt… Danke!
CREATE TABLE current_users(
access_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
ip VARCHAR(15) UNIQUE,
INDEX (access_time)
);
//Beim Betreten:
mysql_query("DELETE FROM current_users WHERE access_time < CURRENT_TIMESTAMP - INTERVAL 5 MINUTES");
$sql = mysql_query("SELECT 1 FROM current_users WHERE ip = '$ip'");
if(mysql_num_rows($sql)) {
//User war schon mal hier
mysql_query("UPDATE current_users SET access_time = CURRENT_TIMESTAMP WHERE ip = '$ip'");
} else {
//neuer User
mysql_query("INSERT INTO current_users (ip) VALUES ('$ip')");
}
$sql = mysql_query("SELECT COUNT(*) FROM current_users");
list($count) = mysql_fetch_row($sql);
echo "<p>There are $count users online</p>";
Hier laufen bei jedem Seitenaufruf 4 Queries ab, das kann durchaus etwas dauern. Mit etwas Geschick kann man das auf einen reduzieren, aber das ist dann schon etwas für pr0s
mysql_query(“DELETE FROM current_users WHERE access_time < CURRENT_TIMESTAMP - INTERVAL 5 MINUTES”); scheint nicht zu klappen … obwohl der in der Datenbank der einteag 2010-10-31 17:10:26 87.189.XXX ist (wir haben jetzt 17:19)