diff --git a/admin.php b/admin.php index 14d6d7d..03e810f 100644 --- a/admin.php +++ b/admin.php @@ -19,14 +19,25 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_course'])) { $tournament_date = null; } - for ($i = 1; $i <= 18; $i++) { - $par_value = filter_input(INPUT_POST, 'par_hole_' . $i, FILTER_VALIDATE_INT); - if ($par_value === false || $par_value < 1 || $par_value > 7) { - $error = "Invalid par value for hole " . $i . ". Please enter a number between 1 and 7."; - $isValid = false; - break; + if ($isValid) { + $num_holes_to_validate = ($hole_count == 9) ? 9 : 18; + for ($i = 1; $i <= 18; $i++) { + $par_value = filter_input(INPUT_POST, 'par_hole_' . $i, FILTER_VALIDATE_INT); + + if ($i <= $num_holes_to_validate) { + if ($par_value === false || $par_value < 1 || $par_value > 7) { + $error = "Invalid par value for hole " . $i . ". Please enter a number between 1 and 7."; + $isValid = false; + break; + } + } else { + // For 9-hole courses, holes 10-18 should be 0. + if ($par_value !== 0) { + $par_value = 0; + } + } + $pars[] = $par_value; } - $pars[] = $par_value; } if ($isValid) { @@ -208,5 +219,37 @@ try { + \ No newline at end of file diff --git a/db/setup.php b/db/setup.php index f24f1a8..ab02a87 100644 --- a/db/setup.php +++ b/db/setup.php @@ -65,6 +65,21 @@ try { "); echo "Table 'scores' created successfully or already exists.
"; + // Add hole_count to courses if it doesn't exist + $stmt = $pdo->query("SHOW COLUMNS FROM courses LIKE 'hole_count'"); + if ($stmt->rowCount() == 0) { + $pdo->exec("ALTER TABLE courses ADD COLUMN hole_count INT NOT NULL DEFAULT 18"); + echo "Column 'hole_count' added to 'courses' table.
"; + } + + // Add tournament_date to courses if it doesn't exist + $stmt = $pdo->query("SHOW COLUMNS FROM courses LIKE 'tournament_date'"); + if ($stmt->rowCount() == 0) { + $pdo->exec("ALTER TABLE courses ADD COLUMN tournament_date DATE"); + echo "Column 'tournament_date' added to 'courses' table.
"; + } + + } catch (PDOException $e) { die("DB ERROR: " . $e->getMessage()); }