我正在创建一个报告,其中我想使用条形图显示我的数据我浏览了一些博客,教程和打印方式;但是,现在我需要的是我想以百分比显示我的数据并将其打印出来,任何人都可以帮助我吗?
这是我的代码:
<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 :(得分:2)
我对你的建议是使用外部轻量级框架来处理图表,它简化了很多事情。
RazorFlow非常好,试一试。
答案 1 :(得分:1)
为了正确显示条形,您需要计算'totmakh'值所代表的百分比值。
首先,你需要知道最大允许值,它代表100%,我们假设它被称为MAX。定义此值后,计算百分比很容易:
$percentage = $mcent["totmakh"] * 100 / MAX;
然后,您可以使用该值设置div的百分比宽度。
答案 2 :(得分:0)
如果您想构建一个包含PHP中的交互式图表和表格以及MySQL中的数据的仪表板,您可以查看RazorFlow PHP。
您将能够使用您想要的图表类型从SQL创建报告。
(披露:我是RazorFlow的开发者,我发帖只是因为我认为它是相关的)