prepare("SELECT * FROM soil_records WHERE id = ? AND rand = ?"); $stmt->execute([$record_id, $rand_id]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) { http_response_code(404); die('Soil record not found'); } $client = htmlspecialchars($row['client_name'] ?? '', ENT_QUOTES, 'UTF-8'); $address = htmlspecialchars($row['site_address'] ?? '', ENT_QUOTES, 'UTF-8'); $state = htmlspecialchars($row['state_postcode'] ?? '', ENT_QUOTES, 'UTF-8'); $email = htmlspecialchars($row['email'] ?? '', ENT_QUOTES, 'UTF-8'); $labNo = htmlspecialchars($row['lab_no'] ?? '', ENT_QUOTES, 'UTF-8'); $sampleDate = htmlspecialchars($row['date_sampled'] ?? '', ENT_QUOTES, 'UTF-8'); $sample = htmlspecialchars($row['site_id'] ?? '', ENT_QUOTES, 'UTF-8'); $crop = htmlspecialchars($row['sample_id'] ?? '', ENT_QUOTES, 'UTF-8'); } catch (PDOException $e) { error_log("Database error in soil-report.php: " . $e->getMessage()); die('Database error occurred'); } $today = date('jS F Y'); $pageTitle = 'Soil Report - ' . ($client ?: 'Crop Monitoring'); $siteName = 'Crop Management Platform'; $activeItem = 'Soil Report'; include __DIR__.'/../../layouts/header.php'; include __DIR__.'/../../layouts/navbar.php'; ?>
Crop Monitor

Soil Analysis for

Sample: | Date:

AddressState/Postcode
EmailLab Number
CropTest Date
Soil Analysis Summary

Any recommendations provided by Cropmonitor are advice only, We are not paid consultants and we are not covered to accept responsibiliy for any of our suggestions. As no control can be exercised over storage, handling, mixing application or use, or weather, plant or soil conditions before, during or after application (all of which may affect the preformance of our program), no responsibility for, or liability for any failure in performance, losses, damage or injuries consequential or otherwise, arisiing form such storage mixng application or use will be accepted under any circumstances whatsoever. The buyer assumes all responsibility for the use of any of our products.