21
So würde ich das probieren (ungetestet):
$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
$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