34959-vm/credit_customers.php
Flatlogic Bot e428ea4534 v1
2025-10-14 17:08:20 +00:00

168 lines
8.7 KiB
PHP

<?php
require_once __DIR__ . '/includes/header.php';
$pdo = db();
$message = '';
$customer_message = '';
$vehicle_message = '';
// Handle form submission for adding a new customer
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_customer'])) {
$name = trim($_POST['name']);
$contact = trim($_POST['contact']);
$address = trim($_POST['address']);
$credit_limit = trim($_POST['credit_limit']);
if (!empty($name)) {
try {
$stmt = $pdo->prepare("INSERT INTO credit_customers (name, contact, address, credit_limit) VALUES (?, ?, ?, ?)");
$stmt->execute([$name, $contact, $address, $credit_limit]);
$customer_message = '<div class="alert alert-success">Customer added successfully!</div>';
} catch (PDOException $e) {
$customer_message = '<div class="alert alert-danger">Error: ' . $e->getMessage() . '</div>';
}
} else {
$customer_message = '<div class="alert alert-warning">Customer name is required.</div>';
}
}
// Handle form submission for adding a new vehicle
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_vehicle'])) {
$customer_id = $_POST['customer_id'];
$vehicle_number = trim($_POST['vehicle_number']);
if (!empty($customer_id) && !empty($vehicle_number)) {
try {
$stmt = $pdo->prepare("INSERT INTO vehicles (customer_id, vehicle_number) VALUES (?, ?)");
$stmt->execute([$customer_id, $vehicle_number]);
$vehicle_message = '<div class="alert alert-success">Vehicle added successfully!</div>';
} catch (PDOException $e) {
$vehicle_message = '<div class="alert alert-danger">Error: ' . $e->getMessage() . '</div>';
}
} else {
$vehicle_message = '<div class="alert alert-warning">Vehicle number is required.</div>';
}
}
// Fetch all customers
$customers_stmt = $pdo->query("SELECT * FROM credit_customers ORDER BY name");
$customers = $customers_stmt->fetchAll(PDO::FETCH_ASSOC);
// Fetch all vehicles and group by customer
$vehicles_stmt = $pdo->query("SELECT * FROM vehicles ORDER BY vehicle_number");
$all_vehicles = $vehicles_stmt->fetchAll(PDO::FETCH_ASSOC);
$vehicles_by_customer = [];
foreach ($all_vehicles as $vehicle) {
$vehicles_by_customer[$vehicle['customer_id']][] = $vehicle;
}
?>
<div class="row">
<!-- Customer Management -->
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4>Manage Credit Customers</h4>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-8">
<h5>Existing Customers</h5>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Name</th>
<th>Contact</th>
<th>Address</th>
<th>Credit Limit</th>
<th>Vehicles</th>
</tr>
</thead>
<tbody>
<?php if (empty($customers)): ?>
<tr>
<td colspan="5" class="text-center">No customers found.</td>
</tr>
<?php else: ?>
<?php foreach ($customers as $customer): ?>
<tr>
<td><?php echo htmlspecialchars($customer['name']); ?></td>
<td><?php echo htmlspecialchars($customer['contact']); ?></td>
<td><?php echo htmlspecialchars($customer['address']); ?></td>
<td><?php echo htmlspecialchars($customer['credit_limit']); ?></td>
<td>
<?php
$vehicles = $vehicles_by_customer[$customer['id']] ?? [];
if (!empty($vehicles)) {
foreach ($vehicles as $vehicle) {
echo htmlspecialchars($vehicle['vehicle_number']) . '<br>';
}
} else {
echo 'No vehicles';
}
?>
</td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
</div>
<div class="col-md-4">
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Add New Customer</h5>
<?php echo $customer_message; ?>
<form action="credit_customers.php" method="POST">
<div class="mb-3">
<label for="name" class="form-label">Customer Name</label>
<input type="text" class="form-control" id="name" name="name" required>
</div>
<div class="mb-3">
<label for="contact" class="form-label">Contact</label>
<input type="text" class="form-control" id="contact" name="contact">
</div>
<div class="mb-3">
<label for="address" class="form-label">Address</label>
<textarea class="form-control" id="address" name="address" rows="2"></textarea>
</div>
<div class="mb-3">
<label for="credit_limit" class="form-label">Credit Limit</label>
<input type="number" step="0.01" class="form-control" id="credit_limit" name="credit_limit">
</div>
<button type="submit" name="add_customer" class="btn btn-primary">Add Customer</button>
</form>
</div>
</div>
<div class="card">
<div class="card-body">
<h5 class="card-title">Add Vehicle to Customer</h5>
<?php echo $vehicle_message; ?>
<form action="credit_customers.php" method="POST">
<div class="mb-3">
<label for="customer_id" class="form-label">Customer</label>
<select class="form-select" id="customer_id" name="customer_id" required>
<option value="">Select a Customer</option>
<?php foreach ($customers as $customer): ?>
<option value="<?php echo $customer['id']; ?>"><?php echo htmlspecialchars($customer['name']); ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="mb-3">
<label for="vehicle_number" class="form-label">Vehicle Number</label>
<input type="text" class="form-control" id="vehicle_number" name="vehicle_number" required>
</div>
<button type="submit" name="add_vehicle" class="btn btn-info">Add Vehicle</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php require_once __DIR__ . '/includes/footer.php'; ?>