Zur Navigation

SQL Anzahl Jahr gruppiert [3]

21 Jörg Kruse

So würde ich das probieren (ungetestet):

$referers = array();

while (list($adr, $jahr) = mysql_fetch_row($adressen_query)){
    $host = getHost($adr);
    if (! isset($referers[$jahr][$host])) {
        $referers[$jahr][$host] = 1;
    } else {
        $referers[$jahr][$host] = $referers[$jahr][$host] + 1;
    }
}
foreach ($referers as $year => $referers_in_year) {
    asort($referers_in_year);
    echo "<h2>$year</h2>\n";
    echo "<ul>\n";
    foreach ($referers_in_year as $host => $hits) {
        echo "<li>$host: $hits</li>\n";
    }
    echo "</ul>\n";
}

$referers ist hier ja ein mehrdimensionales Array, deswegen werden zwei Schleifen benötigt, um den Inhalt auszugeben. In der ersten Schleife wird das Array nach Jahren aufgeteilt und die resultierenden Einzel-Arrays sortiert und in einer inneren Schleife schließlich ausgegeben. Ich habe das ganze nicht getestet - wenn der Code nicht wie gewünscht funktioniert, kannst du dir zur Analyse mit var_dump auch den Inhalt der einzelnen Arrays anzeigen lassen

10.01.2010 21:00 | geändert: 10.01.2010 21:01

22 uwe sagt danke (Gast)

Hallo Jörg,
vielen DANK!!!
Gruss
Uwe

10.01.2010 21:56

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]