prepare("SELECT * FROM soil_records WHERE id = ? AND rand = ?"); $stmt->execute([$record_id, $rand_id]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) { die('Soil record not found'); } // Extract data $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-analysis.php: " . $e->getMessage()); die('Database error occurred'); } $today = date('jS F Y'); $pageTitle = 'Soil Analysis Results - ' . $client; $siteName = 'Crop Management Platform'; $activeItem = 'Soil Analysis'; include __DIR__.'/../../layouts/header.php'; include __DIR__.'/../../layouts/navbar.php'; ?>
"; if ($client === "") { echo "Crop Monitor"; } else { echo "Crop Monitor"; } //echo ""; //Client Test Description if ($client === "") { echo ""; } else { echo "Crop Monitor"; } echo "
"; echo "
"; ?>
DATE: SAMPLE ID:
CLIENT: DATE SAMPLED:
ADDRESS: LAB NUMBER:
CROP:
Soil Analysis Summary
Total kilograms per hectare of each element needed to balance soil in this test

Overview

Ideal Soil Balancing Program for One Season of a FIVE YEAR Plan

Microbe Program

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.