prepare('SELECT * FROM plant_records WHERE id = ? AND rand = ?');
$stmt->execute([$recordId, $randId]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$row) {
http_response_code(404);
die('Plant record not found');
}
// Load spec ranges
$specs = [];
if (!empty($row['crop_type'])) {
$stmtSpec = $pdo->prepare('SELECT * FROM plant_specifications WHERE plant_type = ? LIMIT 1');
$stmtSpec->execute([$row['crop_type']]);
$specs = $stmtSpec->fetch(PDO::FETCH_ASSOC) ?: [];
}
// Load saved report comments
$savedComments = [
'general_details' => '',
'ai_interpretation' => '',
'recommended_details' => '',
'foliar_details' => '',
];
$stmtRpt = $pdo->prepare(
'SELECT comment FROM reports WHERE record_id = ? AND modx_user_id = ? ORDER BY id DESC LIMIT 1'
);
$stmtRpt->execute([$recordId, $userId]);
$savedRow = $stmtRpt->fetchColumn();
if ($savedRow) {
$decoded = json_decode($savedRow, true);
if (is_array($decoded)) {
$savedComments = array_merge($savedComments, $decoded);
}
}
} catch (PDOException $e) {
error_log('DB error in plant-report.php: ' . $e->getMessage());
die('Database error occurred');
}
$h = fn($v) => htmlspecialchars((string)($v ?? ''), ENT_QUOTES, 'UTF-8');
$today = date('jS F Y');
$pageTitle = 'Compost Report' . (!empty($row['client_name']) ? ' — ' . $row['client_name'] : '');
$siteName = 'Crop Monitor';
include __DIR__ . '/../../../layouts/header.php';
?>