InterviewSolution
Saved Bookmarks
| 1. |
Solve : mysqli prepared update? |
|
Answer» HI guys, I believe I"ve correctly coded this and think I'm so close. I ENTER my HTML form: record a PAYMENT Unit: apt1 Amt paid: 530.00 Hudpay: 0.00 Date paid: - yyyy-mm-dd: 2021-07-10 --------------------------------------------------------------------------------- and get this result: receiptno updated successfully 0 payfile updated successfully For: tenant paying: apt1 - Amount paid: 530.00 - Date paid: 2021-07-10 - Amount due: 530 ----------------------------------------------------------------------------------- The numbers table IS updated. The receiptno is 1310 but is displayed as 0 ??. The payfile IS NOT updated ?? The amount due should display as 0.00. The ? I've had all along: is "$receiptno = 0;" a way to define it as numeric and does it also define it as having 0 value? I leave it out, it's undefined, put it in the table value of 1310 is replaced with 0 ?? In the calcs: elseif ($amtpaid == $owed) { $prevbal = 0.00; } is true, yet "Amount due: " displays 530.00?? ---------------------------------------------------------------------------------- the code: $unit = $_POST['unit']; $amtpaid = $_POST['amtpaid']; // ********************************** $hudpay = $_POST['hudpay']; $datepaid = $_POST['datepaid']; $amtdue = 0.00; // **************************************** $prevbal=0.00; $latechg=0.00; $secdep=0.00; $damage=0.00; $courtcost=0.00; $nsf=0.00; $paidsum=0.00; $comments=""; $receiptno=0; // **************************************** $id="id"; $sql = "UPDATE numbers SET receiptno =receiptno+1 WHERE id=1"; // **************************** if ($conn->query($sql) === TRUE) { echo "receiptno updated successfully"; } else { echo "Error updating record: " . $conn->error; } echo $receiptno; // **************************** // Attempt SELECT query execution $result = mysqli_query($conn,"SELECT * FROM payfile Where amtpaid =''"); $row= mysqli_fetch_array($result); $owed = $amtdue + $prevbal + $latechg + $secdep + $damage + $courtcost + $nsf; /* if no payment or partial payment, add $10 to latechg field and amount not paid to prevbal field */ if ($amtpaid < $owed) { $latechg = $latechg + 10.00; $prevbal = $owed - $amtpaid; } /* if payment = amtdue clear due */ // ****************************** this event elseif ($amtpaid == $owed) { $prevbal = 0.00; $latechg = 0.00; $secdep = 0.00; $damage = 0.00; $courtcost = 0.00; $nsf = 0.00; } /* if over-payment subtract over-payment from prevbal field */ elseif ($amtpaid > $owed ) { $prevbal = $amtpaid - $owed; $latechg = 0.00; $secdep = 0.00; $damage = 0.00; $courtcost = 0.00; $nsf = 0.00; } $amtpaid = $paidsum; $sql = "UPDATE payfile SET amtpaid=?, prevbal=?, latechg=?, secdep=?, damage=?, courtcost=?, nsf=?, hudpay=?, datepaid=?, paidsum=?, comments=? WHERE id=?"; $stmt = $conn->prepare($sql); $stmt->bind_param("ddddddddsdsi", $amtpaid, $prevbal, $latechg, $secdep, $damage, $courtcost, $nsf, $hudpay, $datepaid, $paidsum, $comments, $id); $stmt->execute(); echo "payfile updated successfully"; // **************************** ?> tenant paying: <?php echo $_POST["unit"]; ?> - Amount paid: - Date paid: - Amount due: /* ***************************** |
|