setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if($_SERVER['REQUEST_METHOD'] === 'POST'){ try{ $stmt3 = $db->prepare("INSERT INTO emi (customerId, invoiceId, adPaymentAmount, adPaymentDate, adPaymentSource, adPaymentTran, adPaymentRemarks, payStatus) VALUES (:customerId, :invoiceId, :adPaymentAmount, :adPaymentDate, :adPaymentSource, :adPaymentTran, :adPaymentRemarks, 1)"); $stmt3->bindParam(':customerId', $_GET['customerId']); $stmt3->bindParam(':invoiceId', $_GET['invoiceId']); $stmt3->bindParam(':adPaymentAmount', $_POST['adPaymentAmount']); $stmt3->bindParam(':adPaymentDate', $_POST['adPaymentDate']); $stmt3->bindParam(':adPaymentSource', $_POST['adPaymentSource']); $stmt3->bindParam(':adPaymentTran', $_POST['adPaymentTran']); $stmt3->bindParam(':adPaymentRemarks', $_POST['adPaymentRemarks']); if($stmt3->execute()){ echo '
Additional Payment ' . htmlspecialchars($_POST['adPaymentAmount']) . ' Paid Successfully.
'; }else{ echo '
Additional Payment ' . htmlspecialchars($_POST['adPaymentAmount']) . ' Payment Faild.
'; } } catch(PDOException $e){ echo '
Error: ' . $e->getMessage() . '
'; } } try { $stmt = $db->prepare("SELECT * FROM invoice WHERE customerId = :customerId"); $stmt->bindParam(':customerId', $_GET['customerId']); $stmt->execute(); $invoiceData = $stmt->fetch(PDO::FETCH_ASSOC); $stmt2 = $db->prepare("SELECT * FROM emi WHERE customerId = :customerId"); $stmt2->bindParam(':customerId', $_GET['customerId']); $stmt2->execute(); $emiData = $stmt2->fetch(PDO::FETCH_ASSOC); // var_dump($emiData); } catch (PDOException $e) { echo '
Error: ' . $e->getMessage() . '
'; } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['emiId'], $_POST['payStatus'])) { header('Content-Type: application/json'); ob_end_clean(); // Clears any accidental HTML output try { $stmt = $db->prepare("UPDATE emi SET payStatus = :payStatus WHERE customerId = :customerId AND id = :emiId"); $stmt->bindParam(':customerId', $_GET['customerId']); $stmt->bindParam(':payStatus', $_POST['payStatus'], PDO::PARAM_INT); $stmt->bindParam(':emiId', $_POST['emiId'], PDO::PARAM_INT); $stmt->execute(); echo json_encode(['status' => 'success']); } catch (PDOException $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); } } try { // Fetch EMI data $stmt = $db->prepare("SELECT * FROM emi WHERE customerId = :customerId AND invoiceId = :invoiceId ORDER BY emiDate ASC"); $stmt->bindParam(':customerId', $_GET['customerId']); $stmt->bindParam(':invoiceId', $_GET['invoiceId']); $stmt->execute(); $emiPlans = $stmt->fetchAll(PDO::FETCH_ASSOC); // var_dump($emiPlans); $stmt = $db->prepare("SELECT * FROM customers WHERE customerId = :customerId"); $stmt->bindParam(':customerId', $_GET['customerId']); $stmt->execute(); $customer = $stmt->fetch(PDO::FETCH_ASSOC); // var_dump($customer); } catch (PDOException $e) { die('
Error: ' . $e->getMessage() . '
'); } $currentOutstanding = 0; $totalAmount = 0; $bookingDate = null; $currentOutstanding = 0; $totalAmount = 0; $bookingDate = null; $tenure = null; $frequency = null; foreach ($emiPlans as $emi) { $totalAmount = $emi['totalAmount']; if ($bookingDate === null && !empty($emi['bookingDate'])) { $bookingDate = $emi['bookingDate']; } if ($emi['payStatus'] == 0) { $currentOutstanding += $emi['emiAmount']; } if ($tenure === null && isset($emi['tenure'])) { $tenure = $emi['tenure']; } if ($frequency === null && isset($emi['frequency'])) { $frequency = $emi['frequency']; } } $currentOutstanding = round($currentOutstanding); $tenure = $tenure !== null ? $tenure : 0; $frequency = $frequency !== null ? $frequency : 0; ?>

EMI Details

Customer Name:

Mobile Number:

EMI Booking Date:

Invoice Id:

Total Amount: $

Outstanding: $

Tenure:

Frequency:


Number of EMI EMI Amount EMI Date Payment Status Outstanding Action
$ $

Additional Payment Details

Amount Payment Date Transaction Id Payment Status
$