詳細なヘルプと応答をお寄せいただきありがとうございます。ループテーブルの数値列の合計(クエリの合計ではありません)
私は数週間これを困惑しました。オンラインで研究しており、これを把握することはできません。助けてください。
合計の取得しようとしている列がSQLデータベースに格納されていないことに注意することが重要です。これに対してSELECT SUMは機能しません。私はまた、SUBTOTAL列をsqlに書き込まない方が良いでしょう。事務所のエラーがあった場合、時間やレートを変更する必要がある場合は、1フィールドを2よりも変更したいからです。
ここに私のテーブルには、SQLクエリから移入、次のようになります。表には、TOTALを言う table looks like
が、私はそれはそれの上に列を追加し、合計を移入する必要があります。
ここに私のコードがあります。あなたが必要な場合に備えるために、私はすべてを含んでいます。
$staffquery = mysqli_query($con, "SELECT * FROM kmis_transcribers WHERE transcriber_projectid = '$projectinvoiceid ' ORDER BY transcriber_calltime ASC");
$staffcount = mysqli_num_rows($staffquery);
for($i=0; $i<$staffcount; $i++) {
$staffarray = mysqli_fetch_array($staffquery);
$staffid = $staffarray['transcriber_id'];
$staffregid = $staffarray['transcriber_registryid'];
$staffposition = $staffarray['staff_position'];
$staffcalltime = $staffarray['transcriber_calltime'];
$staffrate = $staffarray['staff_rate'];
$staffhours = $staffarray['transcriber_hours'];
$staffovertime = $staffarray['transcriber_overtime'];
echo('<tr>
<td align="center" style="border:1px solid #000000; padding:3px">$'.$staffrate.'</td>
<td align="center" style="border:1px solid #000000; padding:3px">');
$invoicequery = mysqli_query($con, "SELECT * FROM kmis_invoices WHERE invoice_staffid='$staffid'");
while ($invoicearray = mysqli_fetch_array($invoicequery)) {
echo(''.$invoicearray['invoice_hours'].'');
}
echo('</td>
<td align="center" style="border:1px solid #000000; padding:3px">');
$invoicequery = mysqli_query($con, "SELECT * FROM kmis_invoices WHERE invoice_staffid='$staffid'");
while ($invoicearray = mysqli_fetch_array($invoicequery)) {
echo(''.$invoicearray['invoice_overtime'].'');
}
echo('</td>
<td align="center" style="border:1px solid #000000; padding:3px">');
$invoicequery = mysqli_query($con, "SELECT * FROM kmis_invoices WHERE invoice_staffid='$staffid'");
while ($invoicearray = mysqli_fetch_array($invoicequery)) {
$invoicehours= $invoicearray['invoice_hours'];
$invoiceovertime= $invoicearray['invoice_overtime'];
$subtotal = ($invoicehours*$staffrate)+($invoiceovertime*$staffrate*1.5);
$subtotalformat = number_format((float)$subtotal, 2, '.', '');
echo('$'.$subtotalformat.'');
}
echo('</td>
</tr>');
}
echo('<tr>
<td align="center" style="border:1px solid #000000; padding:3px"></td>
<td align="right" style="border:1px solid #000000; padding:3px" colspan="4"><b>TOTAL DUE:</b></td>
<td align="center" style="border:1px solid #000000; padding:3px"><b>TOTAL</b></td>
</tr>
あなたは、私が小計列を作成するために使用する式は、4つの異なるクエリを使用していることがわかります - 請求書からとスタッフから。一部のスタッフは料金が異なるため、小計は行ごとに完全に異なるデータに基づいています。
回答はarray_sumにあり、配列を使って$小計がすべて格納されているのに完全に困惑していると思います。
ありがとうございます。このことを明確にしたり、より正確にするために私が必要な場合は、教えてください。私はあなたのproblem.Theの問題を読んでいる
私はあなたの問題を完全には理解していません。私はあなたの問題に答えてくれました。あなたからすぐにフィードバックを得ることを願っています。 –