第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

PHP和MYSQL計(jì)算學(xué)生總余額

PHP和MYSQL計(jì)算學(xué)生總余額

PHP
慕蓋茨4494581 2023-10-01 15:55:08
我有這個(gè)問題,首先要獲取學(xué)生總數(shù),然后是 amount_paid 列中學(xué)生支付的總金額,我正在查詢所有學(xué)生 id(system_id),然后是每筆付款,然后是發(fā)票和發(fā)票的成本費(fèi)用目標(biāo)是與學(xué)生匹配的 id。最后,我嘗試減去循環(huán)中發(fā)送給選定學(xué)生的所有發(fā)票的總金額,然后從同一循環(huán)中發(fā)送給目標(biāo)學(xué)生的費(fèi)用中減去它。現(xiàn)在,我的許多問題是,對于第一批學(xué)生來說,它正在計(jì)算余額罰款,但其余的余額正在迅速增加。請問我的代碼問題出在哪里:<?php$students = mysqli_query($conn, "SELECT * FROM students GROUP BY system_id");while($row = mysqli_fetch_assoc($students)){    $user_uid = $row['system_id'];    $exam = $row['exam_number'];   //getting payments balances//gettingshopping cart details      $Balance_query = mysqli_query($conn,  "SELECT SUM(amount_paid) AS 'sumitem_cost' FROM payments WHERE payment_by='$user_uid' ");          $balance_data = mysqli_fetch_array($Balance_query);      $balance_price = $balance_data['sumitem_cost'];            $py = mysqli_query($conn, "SELECT * FROM payments WHERE payment_by='$user_uid' AND status!='rejected' GROUP BY invoice_id");      while($rowpy = mysqli_fetch_assoc($py)){                    $paidAmout = $rowpy['amount'];          $invoiceId = mysqli_real_escape_string($conn, $rowpy['invoice_id']);          $PaymentStatus = mysqli_real_escape_string($conn, $rowpy['status']);          //Getting invoice          $Invoice = mysqli_query($conn, "SELECT * FROM invoices WHERE id='$invoiceId'");                    while($rowInv = mysqli_fetch_assoc($Invoice)){          $NewFeeId = $rowInv['id'];                    $sql = mysqli_query($conn,"SELECT SUM(fee) as total FROM invoices WHERE id='$invoiceId'");         $row = mysqli_fetch_array($sql);          $sum = $row['total'];          $total_price += $row[‘fee’];      }}     echo'<br>'.$exam.':' . $BalanceToPay =  $total_price - $balance_price;      }?>
查看完整描述

3 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

你有一些奇怪的疑問。單引號(hào)絕對不能用于列別名,為什么要按 system_id 分組?通過使用聯(lián)接,您的計(jì)算將大大簡化,如果我是您的老師,我希望看到聯(lián)接。


這將立即解決分配問題:


SELECT s.system_id

,      sum(amount_paid) as sumitem_cost

,      sum(fee) as total

FROM students s

JOIN payments p on s.system_id = p.payment_by

JOIN invoices i on p.invoice_id = i.id


查看完整回答
反對 回復(fù) 2023-10-01
?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

$total_price每次與新學(xué)生打交道時(shí),您都需要?dú)w零(init) 。您沒有明確地這樣做,因此第一次使用$total_price它時(shí)會(huì)被創(chuàng)建為零,但隨后您會(huì)進(jìn)一步迭代并不斷添加它,最終得到累積值。所以只需添加


$total_price = 0;

對于每個(gè)while循環(huán)迭代:


while($row = mysqli_fetch_assoc($students)){

    $total_price = 0;

    ...


查看完整回答
反對 回復(fù) 2023-10-01
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

你可以試試這個(gè)代碼


    <?php

$students = mysqli_query($conn, "SELECT * FROM students GROUP BY system_id");

$grandBalanceForAllStudent = 0 ;

while($row = mysqli_fetch_assoc($students)){

    $user_uid = $row['system_id'];

    $exam = $row['exam_number'];

    $total_price = 0 ;

//getting payments balances

//gettingshopping cart details

      $Balance_query = mysqli_query($conn,  "SELECT SUM(amount_paid) AS 'sumitem_cost' FROM payments WHERE payment_by='$user_uid' ");

    

      $balance_data = mysqli_fetch_array($Balance_query);

      $balance_price = $balance_data['sumitem_cost'];

      

      $py = mysqli_query($conn, "SELECT * FROM payments WHERE payment_by='$user_uid' AND status!='rejected' GROUP BY invoice_id");

      while($rowpy = mysqli_fetch_assoc($py)){

          

          $paidAmout = $rowpy['amount'];

          $invoiceId = mysqli_real_escape_string($conn, $rowpy['invoice_id']);

          $PaymentStatus = mysqli_real_escape_string($conn, $rowpy['status']);

          //Getting invoice

          $Invoice = mysqli_query($conn, "SELECT * FROM invoices WHERE id='$invoiceId'");

          

          while($rowInv = mysqli_fetch_assoc($Invoice)){

          $NewFeeId = $rowInv['id'];

          

          $sql = mysqli_query($conn,"SELECT SUM(fee) as total FROM invoices WHERE id='$invoiceId'");

         $row = mysqli_fetch_array($sql);

          $sum = $row['total'];

          $total_price += $row[‘fee’];

          

      }}

      $BalanceToPay =  $total_price - $balance_price;

      // you can keep for your data 

      $grandBalanceForAllStudent += $BalanceToPay ;

     echo'<br>'.$exam.':' . $BalanceToPay ;

      

}

?>


查看完整回答
反對 回復(fù) 2023-10-01
  • 3 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)