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

135 lines
6.2 KiB
PHP

<?php
require_once 'includes/header.php';
require_once 'db/config.php';
// Handle form submission for adding a new nozzle
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_nozzle'])) {
$nozzle_name = trim($_POST['nozzle_name']);
$pump_id = trim($_POST['pump_id']);
if (!empty($nozzle_name) && !empty($pump_id)) {
try {
$pdoconn = db();
$pdoconn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO nozzles (nozzle_name, pump_id) VALUES (:nozzle_name, :pump_id)";
$stmt = $pdoconn->prepare($sql);
$stmt->bindParam(':nozzle_name', $nozzle_name);
$stmt->bindParam(':pump_id', $pump_id);
$stmt->execute();
$success_message = "Nozzle added successfully!";
} catch (PDOException $e) {
$error_message = "Error adding nozzle: " . $e->getMessage();
}
} else {
$error_message = "Nozzle name and pump are required.";
}
}
// Fetch pumps for the dropdown
try {
$pdoconn = db();
$pumps_stmt = $pdoconn->query("SELECT id, pump_number FROM pumps ORDER BY pump_number");
$pumps = $pumps_stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
$pumps = [];
$page_error = "Error fetching pumps: " . $e->getMessage();
}
// Fetch existing nozzles with their pump and bunk
try {
$pdoconn = db();
$nozzles_stmt = $pdoconn->query("
SELECT n.id, n.nozzle_name, p.pump_number, b.name as bunk_name
FROM nozzles n
JOIN pumps p ON n.pump_id = p.id
JOIN bunks b ON p.bunk_id = b.id
ORDER BY b.name, p.pump_number, n.nozzle_name
");
$nozzles = $nozzles_stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
$nozzles = [];
$page_error = "Error fetching nozzles: " . $e->getMessage();
}
?>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">Manage Nozzles</h4>
</div>
<div class="card-body">
<?php if (isset($success_message)): ?>
<div class="alert alert-success"><?php echo $success_message; ?></div>
<?php endif; ?>
<?php if (isset($error_message)): ?>
<div class="alert alert-danger"><?php echo $error_message; ?></div>
<?php endif; ?>
<?php if (isset($page_error)): ?>
<div class="alert alert-danger"><?php echo $page_error; ?></div>
<?php endif; ?>
<div class="row">
<div class="col-md-4">
<h5>Add New Nozzle</h5>
<form method="POST" action="nozzles.php">
<div class="mb-3">
<label for="nozzle_name" class="form-label">Nozzle Name</label>
<input type="text" class="form-control" id="nozzle_name" name="nozzle_name" required>
</div>
<div class="mb-3">
<label for="pump_id" class="form-label">Assign to Pump</label>
<select class="form-select" id="pump_id" name="pump_id" required>
<option value="">Select Pump</option>
<?php foreach ($pumps as $pump): ?>
<option value="<?php echo htmlspecialchars($pump['id']); ?>">
<?php echo htmlspecialchars($pump['pump_number']); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<button type="submit" name="add_nozzle" class="btn btn-primary">Add Nozzle</button>
</form>
</div>
<div class="col-md-8">
<h5>Existing Nozzles</h5>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>ID</th>
<th>Nozzle Name</th>
<th>Pump</th>
<th>Bunk</th>
</tr>
</thead>
<tbody>
<?php if (empty($nozzles)): ?>
<tr>
<td colspan="4" class="text-center">No nozzles found.</td>
</tr>
<?php else: ?>
<?php foreach ($nozzles as $nozzle): ?>
<tr>
<td><?php echo htmlspecialchars($nozzle['id']); ?></td>
<td><?php echo htmlspecialchars($nozzle['nozzle_name']); ?></td>
<td><?php echo htmlspecialchars($nozzle['pump_number']); ?></td>
<td><?php echo htmlspecialchars($nozzle['bunk_name']); ?></td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php require_once 'includes/footer.php'; ?>