2013-03-14 64 views
0

我正在创建一份报告,我想用条形图显示我的数据我通过一些博客,教程和打印方式;但是,现在我的需要是我想以百分比显示我的数据并打印出来,任何人都可以帮我解决问题吗?如何使用PHP将MySQL数据打印到条形图中

这是我的代码:

<style> 
.clear{ 
    clear:both; 
} 

.graphcont { 
    padding-top:10px; 
    color:#000; 
    font-weight:700; 
    float:left 
} 

.graph { 
    float:left; 
    margin-top:10px; 
    background-color:#cecece; 
    position:relative; 
    width:280px; 
    padding:0 
} 

.graph .bar { 
    display:block; 
    position:relative; 
    background-image:url(images/bargraph.gif); 
    background-position:right center; 
    background-repeat:repeat-x; 
    border-right:#538e02 1px solid; 
    text-align:center; 
    color:#fff; 
    height:25px; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size:12px; 
    line-height:1.9em 
} 

.graph .bar span { 
    position:absolute; 
    left:1em 
} 
</style> 

</head> 

<body> 

<div id="container"> 

<?php 
require("includes/dbconnect.php"); 

$getcen = mysql_query("SELECT count(*) AS totcen, center FROM `makhtab` WHERE center != '' GROUP BY center ORDER BY center") or die(mysql_error()); 

while ($mcent = mysql_fetch_array($getcen)) { 
    echo '<div class="rating"><div class="graphcont"><div class="graph"><strong class="bar" style="width:'.$mcent["totcen"].'%;">'.$mcent["totcen"].'</strong></div></div></div> 
     <div class="clear"></div>'; 
} 
?> 
</div> 

上面的代码工作正常,但我想设置我DIV其中杆被示出为一个固定的宽度,我想操纵根据条宽查询创建的百分比。提前致谢。

+0

你的意思是操纵酒吧的高度?另外,你对上述代码有什么问题? – 2013-03-14 08:21:21

+0

DER是没有任何问题先生的代码工作正常我想要修复其中酒吧出现的div的宽度和绝对想要根据数据操纵酒吧 – kumail 2013-03-14 08:25:08

+0

我绝对想要将我的数据转换为百分比,以便我可以在我的酒吧宽度中使用它 – kumail 2013-03-14 08:30:55

回答

1

为了正确显示栏,您需要计算'totmakh'值所代表的百分比值。首先,您需要知道允许的最大值(代表100%),我们假设它被称为MAX。一旦你定义了这个值,计算百分比很简单:

$percentage = $mcent["totmakh"] * 100/MAX; 

然后,您可以使用该值来设置div的百分比宽度。

+0

嘿thnks很多先生 – kumail 2013-03-14 10:04:08

+0

不客气! – 2013-03-14 10:05:23

0

如果要构建一个包含交互式图表和表格的仪表板,并使用PHP中的数据,可以查看RazorFlow PHP

您将能够使用所需的图表类型从SQL创建报表。

(披露:我是RazorFlow的开发商和我张贴只是因为我觉得这是初步认识)

2

我的意见,你会被使用外部重量轻框架照顾图表中,它简化了很多东西。

RazorFlow真的很不错,试试吧。