⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chart.inc

📁 PHP4_0入门与提高源程序代码
💻 INC
字号:
chart.inc:
<?php
function draw_chart($chartcolum, $chartdata, $scale, $max_scale)

  {
	//输出层叠样式表
    echo("<style type=\"text/css\">\n");
    echo("//<!--\n");

    echo(".legendtext {  font-family: Arial, Helvetica, sans-serif; font-size: 8pt; color: #FFFFFF}\n");
    echo(".datatext {  font-family: Arial, Helvetica, sans-serif; font-size: 8pt; color: #000000}\n");

    echo("//-->\n");
    echo("</style>\n");

			//计算行数
            $rowcount = count ($chartdata);
            $max_value = 0;
			//统计每列的基本数字:id, name, value
            for ($a = 1; $a <= $rowcount; $a++)
                {
                    $stat_id[$a] = $a;
                    $stat_name[$a] = $chartcolum[$a];
                    $stat_value[$a] = $chartdata[$a];
                    if ($stat_value[$a] > $max_value) {$max_value = $stat_value[$a];}
                    $stat_total = $stat_total + $stat_value[$a];	//计算总数
                }
			//输出总和
            echo ("<BR><CENTER><A CLASS=\"datatext\">Total: " . $stat_total . "</A></CENTER>");
			//计算平均值
            $stat_average = round ($stat_total / $rowcount);
			//??????????????????????????????
            $scale_average = round ($stat_average/($max_value/$scale));
            for ($a = 1; $a <= $rowcount; $a++)
                {	
					//计算每列的颜色值
					//dechex()把十进制数字转化为十六进制数字
                    $stat_scale[$a] = round ($stat_value[$a]/($max_value/$scale));
                    $color[$a] = dechex(round($stat_id[$a]*220/$rowcount));
                    $color[$a] .= dechex(round($stat_id[$a]*190/$rowcount));
                    $color[$a] .= dechex(round($stat_id[$a]*210/$rowcount));


                }
            for ($a = 1; $a <= $rowcount; $a++)
                {
                    for ($b = 1; $b <= $max_scale; $b++)
                        {
                            if ($b <= $scale_average)  {$average_colored[$b] = 1;}
                            else                       {$average_colored[$b] = 0;}

                            if ($b <= $stat_scale[$a])  {$stat_colored[$a][$b] = 1;}
                            else                        {$stat_colored[$a][$b] = 0;}
                        }
                }

            $low_width = round(25/($rowcount+3));
            $high_width = round(75/$rowcount);


            echo ("\n<BR><CENTER><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=90%>\n");
            for ($b = ($max_scale + 1); $b >= 0; $b--)
                {
                    if ($b != 0)
                        {
                            echo ("<TR><TD BGCOLOR=#0000DD ALIGN=right WIDTH=" . $low_width . "%><A CLASS=\"legendtext\">" . round(($b - 1) * ($max_value/$scale)) . "_</A></TD>\n");
                            if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                            else                           {echo ("<TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                        }
                    else
                        {
                            echo ("<TR><TD BGCOLOR=#0000DD ALIGN=right WIDTH=" . $low_width . "%>&nbsp;</TD>\n");
                            echo ("<TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");
                        }
                    for ($a = 1; $a <= $rowcount; $a++)
                        {
                            if ($b == 0)
                                {
                                   echo ("<TD BGCOLOR=#0000DD ALIGN=center WIDTH=" . $high_width . "%><A CLASS=\"legendtext\">" . $stat_name[$a] . "</A></TD><TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");
                                }
                            else
                                {
                                    if ($b == ($stat_scale[$a] + 1))
                                        {
                                         if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#DDDDDD ALIGN=center WIDTH=" . $high_width . "%><A CLASS=\"datatext\">" . $stat_value[$a] . "</A></TD><TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                                         else                           {echo ("<TD BGCOLOR=#FFFFFF ALIGN=center WIDTH=" . $high_width . "%><A CLASS=\"datatext\">" . $stat_value[$a] . "</A></TD><TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                                        }
                                    else
                                        {
                                            if ($stat_colored[$a][$b] == 1)
                                                {
                                                 if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#" . $color[$a] . " WIDTH=" . $high_width . "%>&nbsp;</TD><TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                                                 else                           {echo ("<TD BGCOLOR=#" . $color[$a] . " WIDTH=" . $high_width . "%>&nbsp;</TD><TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                                                }
                                            else
                                                {
                                                 if ($average_colored[$b] == 1) {echo ("<TD BGCOLOR=#DDDDDD WIDTH=" . $high_width . "%>&nbsp;</TD><TD BGCOLOR=#DDDDDD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                                                 else                           {echo ("<TD BGCOLOR=#FFFFFF WIDTH=" . $high_width . "%>&nbsp;</TD><TD BGCOLOR=#FFFFFF WIDTH=" . $low_width . "%>&nbsp;</TD>\n");}
                                                }
                                        }
                                }
                        }
                    if ($b == ($scale_average + 1))
                        {
                            echo ("<TD BGCOLOR=#0000DD ALIGN=left WIDTH=" . $low_width . "%><A CLASS=\"legendtext\">_" . $stat_average . "</A></TD><TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");
                        }
                    else
                        {
                            echo ("<TD BGCOLOR=#0000DD ALIGN=right WIDTH=" . $low_width . "%>&nbsp;</TD>\n");
                            echo ("<TD BGCOLOR=#0000DD WIDTH=" . $low_width . "%>&nbsp;</TD>\n");
                        }
                    echo ("</TR>\n");
                }
            echo ("</TABLE></CENTER>\n");
   }
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -