false, 'message' => 'Invalid order data']); exit; } // Fetch the last order number $sql = "SELECT order_number FROM orders ORDER BY id DESC LIMIT 1"; $result = $conn->query($sql); if ($result === false) { error_log("Failed to fetch last order number: " . $conn->error); echo json_encode(['success' => false, 'message' => 'Failed to fetch last order number']); exit; } $last_order_number = $result->fetch_assoc()['order_number'] ?? '#000'; $new_order_number = '#' . str_pad((int)substr($last_order_number, 1) + 1, 3, '0', STR_PAD_LEFT); $sql = "INSERT INTO orders (order_number, items, total_price) VALUES (?, ?, ?)"; $stmt = $conn->prepare($sql); if ($stmt === false) { error_log("Failed to prepare statement: " . $conn->error); echo json_encode(['success' => false, 'message' => 'Failed to prepare statement']); exit; } $stmt->bind_param("ssd", $new_order_number, $items, $total_price); if ($stmt->execute()) { echo json_encode(['success' => true, 'order_number' => $new_order_number]); } else { error_log("Failed to execute statement: " . $stmt->error); echo json_encode(['success' => false, 'message' => 'Failed to execute statement']); } $stmt->close(); $conn->close(); ?>