用于计算MySQL行百分比的PHP命令

问题描述 投票:0回答:1

首先,我是PHP的新手,所以我还在学习。我有一个PHP程序来显示MySQL上经常更改的行数。这是我用来显示计数和百分比的回声 -

echo"<tr><td>{$row['Name']}</td><td {$row['COUNT(tag_logs.tag_no)']}/75</td><td>{$row['(COUNT(tag_logs.tag_no)']}%</td></tr>

第一个计数功能正常。对于......的第二次迭代

{$row['(COUNT(tag_logs.tag_no)']}% 

...我想将计数除以75并乘以100。

我试过将75分配给一个字符串,例如 -

$perc = 75;

我还尝试了一些变体来进行分割 -

{$row['(COUNT(tag_logs.tag_no)'/75]}%

{$row['(COUNT(tag_logs.tag_no)'/$perc]}%

但是,我没有运气,因为我不确定在哪里插入变量。这是我收到的错误 -

警告:第16行的/Library/WebServer/Documents/count.php中遇到非数字值

php mysql
1个回答
1
投票

您需要在引用的字符串之外划分您正在读取的值。试试这个:

echo "<tr><td>{$row['Name']}</td><td>{$row['COUNT(tag_logs.tag_no)']}</td><td>" . round($row['COUNT(tag_logs.tag_no)'] / 75 * 100, 2) . "%</td></tr>";

我还建议您使用COUNT上的别名重写您的查询,例如

COUNT(tag_logs.tag_no) AS tag_cnt

这样你就可以把它称为$row['tag_cnt']而不是$row['COUNT(tag_logs.tag_no)']。如果您稍后更改查询中的表达式,这也将节省您的时间,因为您也不必更改PHP。

© www.soinside.com 2019 - 2024. All rights reserved.