query("SELECT asset_tag FROM assets WHERE asset_tag LIKE 'ASSET-%' ORDER BY CAST(SUBSTRING(asset_tag, 7) AS UNSIGNED) DESC LIMIT 1"); $last_asset_tag = $stmt->fetchColumn(); if ($last_asset_tag) { $last_number = (int) substr($last_asset_tag, 6); $new_number = $last_number + 1; } else { $new_number = 1; } $new_asset_tag = 'ASSET-' . str_pad($new_number, 3, '0', STR_PAD_LEFT); $data = [$new_asset_tag]; $columns = ['asset_tag']; $placeholders = '?'; } catch (PDOException $e) { $error_message = 'Error generating asset tag: ' . $e->getMessage(); } if (empty($error_message)) { foreach ($allowed_fields as $field) { if (isset($_POST[$field])) { $data[] = $_POST[$field]; $columns[] = $field; $placeholders[] = '?'; } } if (count($data) <= 1) { // Only asset tag is present $error_message = 'No data submitted.'; } else { try { $sql = sprintf("INSERT INTO assets (%s) VALUES (%s)", implode(', ', $columns), implode(', ', array_fill(0, count($columns), '?'))); $stmt = $pdo->prepare($sql); $stmt->execute($data); header("Location: index.php?success=asset_added"); exit; } catch (PDOException $e) { $error_message = 'Database error: ' . $e->getMessage(); } } } } ?>