Hy Members!!!
Ich bin eben auf folgendes Problem gestoßen, und zwar möchte ich abfragen wie viele User letzten Monat online waren.
Meine SQL-Tabelle (Online) sieht wie folgt aus
|IP ||Datum |Zeit ||Username |Status
----------------------------------------------------------------------
217.286.15.2 |15 Jan 2008 |18:18:11|KSTICKER |Offline
217.286.15.3 |16 Jan 2008 |18:19:45|KSTICKER |Member
217.286.15.2 |16 Dez 2007 |15:12:31| |Gast
Su nun möchte ich eine SQL-Abfrage in der Art machen:
Select * From Online Where Datum = * Dez * (Gut nun ist noch das Problem mit dem Jahr)
Wie kann ich so etwas realisieren?
PS. In meiner Statistik soll immer die anzahl der Besuche des aktuellen Monats angezeigt werden.
Das gleiche würde ich gerne immer auf den gestrigen Tag anwenden.
Hier meine Scripts, ich habe schon ein Script für das Gestrige Datum geschrieben, aber was ist wenn es der erste des monates ist also Z.B: 01 Jan 2008?
PHP-Code:
<!--ERSTES BETRETEN DER SEITE-->
<?php
#Grundabfrage Online
$base_online = mysql_query("SELECT * FROM Online");
#anzahl gaeste auslesen im moment
$gast_now_count = mysql_query("SELECT * FROM Online WHERE Status = 'Gast'");
$gast_now_count_ausgabe = mysql_num_rows($gast_now_count);
#anzahl Member auslesen im moment
$user_now_count = mysql_query("SELECT * FROM Online WHERE Status = 'Member'");
$user_now_count_ausgabe = mysql_num_rows($user_now_count);
#anzahl besuche heute auslesen
$today_count = mysql_query("SELECT * FROM `Online` WHERE Datum = '".date("d M Y")."' ");
$today_count_ausgabe = mysql_num_rows($today_count);
#registrierte Useranzahl angeben
$sum_user = MYSQL_QUERY( "SELECT * FROM User");
$sum_user_ausgabe = mysql_num_rows($sum_user);
#neusten User angeben
$maxid_user = MYSQL_QUERY( "SELECT max(UserID) AS UserID FROM User");
$maxid_user_ausgabe = mysql_fetch_assoc($maxid_user);
$username = MYSQL_QUERY( "SELECT Username FROM User WHERE UserID = '".$maxid_user_ausgabe['UserID']."'");
$username_ausgabe = mysql_fetch_assoc($username);
#anzahl der gesendeten nachrichten angeben
$maxid_NachNummer = MYSQL_QUERY( "SELECT max(NachNummer) AS NachNummer FROM Messages");
$maxid_NachNummer_ausgabe = mysql_fetch_assoc($maxid_NachNummer);
#anzahl neuer Member angeben
$datum = date('d.m.y');
$today_register = MYSQL_QUERY( "SELECT * FROM User Where RegDate = '".$datum."'");
$today_register_ausgabe = mysql_num_rows($today_register);
#datensatz updaten wenn nach angegebener Zeit keine reaktion festgestellt wurde
#unterscheiden zwischen member und gast
#MEMBER
if ($base_online['Status'] == "Member"){
mysql_query("UPDATE Online SET Status = 'Offline' WHERE DATE_SUB(NOW(), '%H','%i','%s',INTERVAL 5 Second) > Zeit");
#GAST
}elseif ($base_online['Status'] == "Gast"){
mysql_query("UPDATE Online SET Status = 'Offline' WHERE DATE_SUB(NOW(), '%H','%i','%s',INTERVAL 5 Second) > Zeit");
#OFFLINE
}else{};
#Gestriges Datum heraus finden
$gestern_day = date('d') - 1;
$gestern_mon = date('M');
$gestern_jah = date('Y');
$gestern = $gestern_day.' '.$gestern_mon.' '.$gestern_jah;
#gestrige Besucherzahl heraus finden
$yesterday_count = mysql_query("SELECT * FROM `Online` WHERE Datum = '".$gestern."' ");
$yesterday_count_ausgabe = mysql_num_rows($yesterday_count);
?>