0

我正在创建一个报告,我想在其中使用条形图显示我的数据,我浏览了一些博客、教程和一种打印方式;但是,现在我的需要是我想以百分比显示我的数据并打印出来,有人可以帮我吗?

这是我的代码:

<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,其中条形显示为固定宽度,我想根据查询创建的百分比来操纵条形宽度。提前致谢。

4

3 回答 3

2

我对你的建议是使用外部轻量级框架来处理图表,它简化了很多事情。

RazorFlow 真的很不错,试试看。

于 2013-05-03T20:07:39.960 回答
1

为了正确显示条形图,您需要计算“totmakh”值所代表的百分比值。

首先,您需要知道最大允许值,即 100%,假设它称为 MAX。一旦你定义了这个值,计算百分比就很容易了:

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

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

于 2013-03-14T09:51:27.067 回答
0

如果您想构建一个仪表板,其中包含 PHP 中的交互式图表和表格,以及 MySQL 中的数据,您可以查看RazorFlow PHP

您将能够使用您想要的图表类型从 SQL 创建报告。

(披露:我是 RazorFlow 的开发人员,我发布只是因为我觉得它是相关的)

于 2013-03-19T12:06:45.600 回答