私はこの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);
今、問題は、学校の総授業料 (NumberOfChildren * SchoolTuition) を計算したいことであり、json_encode() 関数の前に実行する必要があります。私のクライアントは、データベースに余分な列を1つ追加したくありません。
したがって、PHP を使用してこの TOTAL School Tuition を計算し、json_encode の前の配列の最新の値として $rows 配列に戻す必要があります。
最初に $rows[2] と $rows[3] を取得するために mysql_fetch_array を使用して計算しようとしましたが、以前に mysql_fetch_assoc を使用しているため、この mysql_fetch_array は機能しません。
最後に、mysql_fetch_assoc は 2 次元配列を生成します。print_r($rows) を使用すると、次のように表示されるためです。
Array ( [0] => Array ( [FirstName] => Mary [LastName] => Smith [NumberOfChildren] => 3 [SchoolTuition] => 2000 ) )
array_push 関数は 1 次元配列をプッシュするためにのみ使用されますが、そうですか?
この問題の解決策を教えてください。どうもありがとうございます。