使用PHP引导MYSQL数据的进度条?
我在MYSQL数据库中有一个表,有14586条记录 每个记录都有一个名为使用PHP引导MYSQL数据的进度条?,php,mysql,twitter-bootstrap,Php,Mysql,Twitter Bootstrap,我在MYSQL数据库中有一个表,有14586条记录 每个记录都有一个名为active的行,其值为0 在某个点上,此活动行的值变为1 我需要做的是简单地显示一个bootstrap进度条,显示进度条中有active=1的字段 我试过这样的方法: PHP: $result = mysqli_query($db_conx, "SELECT count(*) FROM mytable WHERE active=1"); $row = mysqli_fetch_row($result); $num = $r
active
的行,其值为0
在某个点上,此活动
行的值变为1
我需要做的是简单地显示一个bootstrap进度条
,显示进度条中有active=1
的字段
我试过这样的方法:
PHP:
$result = mysqli_query($db_conx, "SELECT count(*) FROM mytable WHERE active=1");
$row = mysqli_fetch_row($result);
$num = $row[0];
<div class="progress">
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:<?php echo $num; ?>%">
<?php echo $num; ?>%
</div>
</div>
引导HTML:
$result = mysqli_query($db_conx, "SELECT count(*) FROM mytable WHERE active=1");
$row = mysqli_fetch_row($result);
$num = $row[0];
<div class="progress">
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:<?php echo $num; ?>%">
<?php echo $num; ?>%
</div>
</div>
您需要获取不带的总记录,其中过滤器,以及带的总记录,其中active=1
。这将允许您计算0到100之间的百分比值
[total active=1] / [total records] * 100 = [percent from 0 - 100]
示例:7293/14586=0.5*100=50%
请参阅:您将需要表中的总行数,在您的情况下是14586,即100%。该函数获取示例中的数字并除以100。然后使用round((float)$num*100)。“%”
对数字进行四舍五入以获得百分比。假设要将百分比显示到小数点后2位,则可以将其用作mysqli\u查询语句:
"select format(100*sum(active)/count(active),2) from mytable"
要获得一个四舍五入的数字,您可以将上述format函数的最后一个参数更改为0
说明:sum(active)
将这些值相加,这相当于对它们进行计数,假设该列中只有其他值为零或空。另一方面,count(active)
计算1和0,忽略空值(如果有的话)
如果您希望分母总数包括active
列既不是0也不是1的偶数行,包括空值,那么您可以使用count(active)
而不是count(*)
,它将统计表中的所有记录
此外,如果您不确定active
列中是否有其他数字(可能错误,例如2、5等),则使用更精确的sum(active=1)
来代替sum(active)
,这意味着active=1时的active之和。数字应该是多少be@Akintunde,进度条通常在0到100之间。您可以执行基本的算术运算。获取处于活动状态的行数,然后除以100%或除以表中的行总数。我将使用cout(id)
或count(active)
而不是使用count(*)
来选择所有列,以加快查询速度。count(*)
有时可以对特定列进行计数。这允许MySQL尝试为您的查询选择最佳索引列。另一点需要注意的是,如果您选择要计数的列中存在null
值,则这些值将被忽略。始终为您的应用程序测试多种计数行的方法,因为对其他人最有效的方法可能对您最无效。