我有这个PHP语法,并按我的预期工作:
$sqldata = mysql_query("
SELECT FirstName, LastName, NumberOfChildren, SchoolTuition FROM User WHERE User.Username = '$Username' LIMIT 1;
");
$rows = array();
while($r = mysql_fetch_assoc($sqldata)) {
$rows[] = $r;
}
echo json_encode($rows);
Run Code Online (Sandbox Code Playgroud)
现在,问题是我想计算总学费(NumberOfChildren*SchoolTuition),它必须在json_encode()函数之前完成.我的客户不想在他们的数据库上添加一个额外的列.
所以我必须使用PHP计算这个TOTAL School Tuition并将它放回$ rows数组作为json_encode之前的数组的最新值.
我尝试首先使用mysql_fetch_array计算得到$ rows [2]和$ rows [3],但由于我之前已经使用过mysql_fetch_assoc,因此mysql_fetch_array不起作用.
最后一件事,我mysql_fetch_assoc生成二维数组.因为当我使用print_r($ rows)时,我看到了这个:
Array ( [0] => Array ( [FirstName] => Mary [LastName] => Smith [NumberOfChildren] => 3 [SchoolTuition] => 2000 ) )
Run Code Online (Sandbox Code Playgroud)
而array_push函数只用于推送1维数组,对吧?
请帮我解决这个问题.非常感谢你.
您可以在SQL中进行计算,而无需添加列.
SELECT FirstName, LastName, NumberOfChildren, SchoolTuition,
(NumberOfChildren * SchoolTuiton) AS TotalSchoolTuiton
FROM User WHERE User.Username = '$Username' LIMIT 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |