lille problem med tagcloud

Tags:    php

Hejsa..

Bliver ved med at få denne warning. Nogen der kan hjælpe?

"Warning: Invalid argument supplied for foreach() in tagcloud.php on line 41"

Er gået i stå.. lol...

På forhånd tak,

Lars

<?
function get_tag_data() {
include 'config.php';
$result = mysql_query("SELECT * FROM tags GROUP BY tag ORDER BY count DESC");
while($row = mysql_fetch_array($result)) {
$arr[$row['tag']] = $row['count'];
}
ksort($arr);
return $arr;
}
?>

<?
function get_tag_cloud() {
$min_font_size = 12;
$max_font_size = 30;
$tags = get_tag_data();
$minimum_count = min(array_values($tags));
$maximum_count = max(array_values($tags));
$spread = $maximum_count - $minimum_count;

if($spread == 0) {
$spread = 1;
}
}
?>

<?
$cloud_html = '';
$cloud_tags = array();
foreach ($tags as $tag => $count) {
$size = $min_font_size + ($count - $minimum_count)
* ($max_font_size - $min_font_size) / $spread;
$cloud_tags[] = '<a style="font-size: '. floor($size) . 'px'
. '" class="tag_cloud" href="http://www.google.com/search?q=' . $tag
. '" title="\\'' . $tag . '\\' returned a count of ' . $count . '">'
. htmlspecialchars(stripslashes($tag)) . '</a>';
}
$cloud_html = join("\\n", $cloud_tags) . "\\n";
return $cloud_html;
?>

<?php print get_tag_cloud(); ?>




1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
det betyder at din foreach-løkke ikke har et array at arbejde med.
get_tag_data() returnere ikke et array til variablen $tags.

Du kan løse det med enten, at type-definere værdien fra funktionen:
Fold kodeboks ind/udKode 


eller teste om $tags er et array eller ej:
Fold kodeboks ind/udKode 




t