13.08.2008, 20:13
Im Endefekt hast du das schonmal gut erkannt
FOR ( -> 12 )
Monat 1 DB Nicht vorhanden. "" zu Array() an Position 1
...
Montat 8 DB Vorhanden // Wertermitteln... zu Array() an Position 8.
Frage geht das überhaupt ^^ ?
Ansonsten 12x ne DB Abfrage wollte ich dafür nicht machen.
[code=php] // MySQL-Verbindung aufbauen.
$db_link = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
@mysql_select_db(MYSQL_DATABASE) or die(mysql_error());
$counter = array();
$hits = array();
for($i=1; $i<=12; $i++)
{
$sql = "SELECT * FROM netcms_stats WHERE date_y='".date("Y")."' AND date_m='".$i."';";
$res = mysql_query("$sql") or die(mysql_error());
$data = mysql_fetch_array($res);
$counter[$i] = $data["value_count"];
$hits[$i] = $data["hits"];
}
// MySQL Verbindung schließen.
mysql_close($db_link);[/code]
Geht aber leider nicht
EDIT: Ach ich Held, Ich habe fehler in meiner Abfrage gehabt Sorry ich teste mal
Ein Problem besteht leider noch,
Der überspringt jetzt immer den ersten Monat. Mein Code sieht mitlerweile so aus.
[code=php] // MySQL-Verbindung aufbauen.
$db_link = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
@mysql_select_db(MYSQL_DATABASE) or die(mysql_error());
$counter = array();
$hits = array();
for($i=1; $i<=12; $i++)
{
$sql = "SELECT * FROM netcms_stats WHERE date_y='".date("Y")."' AND date_m='".$i."';";
$res = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($res);
if($data["count_value"] == "")
{$counter[$i] = '0';}
else
{$counter[$i] = $data["count_value"];}
if($data["count_hits"] == "")
{$hits[$i] = '0';}
else
{$hits[$i] = $data["count_hits"];}
}
// MySQL Verbindung schließen.
mysql_close($db_link);
// Testdaten
echo "<pre>";
print_r($counter);
echo "</pre>";
$monate = array("Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"); // Monate[/code]
Das print_r($counter) ergibt das:
Das landet aber bei der Ausgabe im September.
EDIT:
Habe es hinbekommen fehler war [$i] sollte nur [] sein.
[code=php]
if($data["count_value"] == "")
{$counter[$i] = '0';}
else
{$counter[$i] = $data["count_value"];}
if($data["count_hits"] == "")
{$hits[$i] = '0';}
else
{$hits[$i] = $data["count_hits"];}
[/code]
FOR ( -> 12 )
Monat 1 DB Nicht vorhanden. "" zu Array() an Position 1
...
Montat 8 DB Vorhanden // Wertermitteln... zu Array() an Position 8.
Frage geht das überhaupt ^^ ?
Ansonsten 12x ne DB Abfrage wollte ich dafür nicht machen.
[code=php] // MySQL-Verbindung aufbauen.
$db_link = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
@mysql_select_db(MYSQL_DATABASE) or die(mysql_error());
$counter = array();
$hits = array();
for($i=1; $i<=12; $i++)
{
$sql = "SELECT * FROM netcms_stats WHERE date_y='".date("Y")."' AND date_m='".$i."';";
$res = mysql_query("$sql") or die(mysql_error());
$data = mysql_fetch_array($res);
$counter[$i] = $data["value_count"];
$hits[$i] = $data["hits"];
}
// MySQL Verbindung schließen.
mysql_close($db_link);[/code]
Geht aber leider nicht
EDIT: Ach ich Held, Ich habe fehler in meiner Abfrage gehabt Sorry ich teste mal
Ein Problem besteht leider noch,
Der überspringt jetzt immer den ersten Monat. Mein Code sieht mitlerweile so aus.
[code=php] // MySQL-Verbindung aufbauen.
$db_link = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
@mysql_select_db(MYSQL_DATABASE) or die(mysql_error());
$counter = array();
$hits = array();
for($i=1; $i<=12; $i++)
{
$sql = "SELECT * FROM netcms_stats WHERE date_y='".date("Y")."' AND date_m='".$i."';";
$res = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($res);
if($data["count_value"] == "")
{$counter[$i] = '0';}
else
{$counter[$i] = $data["count_value"];}
if($data["count_hits"] == "")
{$hits[$i] = '0';}
else
{$hits[$i] = $data["count_hits"];}
}
// MySQL Verbindung schließen.
mysql_close($db_link);
// Testdaten
echo "<pre>";
print_r($counter);
echo "</pre>";
$monate = array("Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"); // Monate[/code]
Das print_r($counter) ergibt das:
Code:
Array
(
[1] => 0
[2] => 0
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 6 <---- AUGUST
[9] => 0
[10] => 0
[11] => 0
[12] => 0
)
Das landet aber bei der Ausgabe im September.
EDIT:
Habe es hinbekommen fehler war [$i] sollte nur [] sein.
[code=php]
if($data["count_value"] == "")
{$counter[$i] = '0';}
else
{$counter[$i] = $data["count_value"];}
if($data["count_hits"] == "")
{$hits[$i] = '0';}
else
{$hits[$i] = $data["count_hits"];}
[/code]