PHP命令来计算MySQL行的百分比

时间:2019-04-20 10:46:13

标签: php mysql

首先,我是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]}%

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

  

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

1 个答案:

答案 0 :(得分: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。