参考サイト
//このSQL文が分かれば簡単
$query = "SELECT thing AS tag, COUNT(id) AS quantity
FROM my_table
GROUP BY thing
ORDER BY thing ASC";
$result = mysql_query($query);
//タグをkeyにして 数をvalueにしてarrayにする
while ($row = mysql_fetch_array($result)) {
$tags[$row['tag']] = $row['quantity'];
}
$max_size = 250;//フォントサイズの最大
$min_size = 100;//フォントサイズの最小
//quantityの最小値と最大値を取得
$max_qty = max(array_values($tags));
$min_qty = min(array_values($tags));
//最大値と最小値の差がない時の処理
$spread = $max_qty - $min_qty;
if (0 == $spread) {
$spread = 1;
}
//変化のステップを決める
$step = ($max_size - $min_size)/($spread);
//出力
foreach ($tags as $key => $value) {
$size = $min_size + (($value - $min_qty) * $step);
echo '<a href="#" style="font-size: '.$size.'%"';
echo ' title="'.$value.' things tagged with '.$key.'"';
echo '>'.$key.'</a> ';
}
0 件のコメント:
コメントを投稿