首先,我是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行
答案 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。