﻿<?php
// update_result.php
header('Content-Type: application/json; charset=utf-8');
include('dbconnect.php');
///require_once 'db_connect.php'; // or wherever you create $con (mysqli)

try {
    if (!isset($_POST['appno'], $_POST['event'], $_POST['code'])) {
        throw new Exception('Missing parameters.');
    }

    $appno = (int)$_POST['appno'];
    $event = $_POST['event'];
    $code  = strtoupper(trim($_POST['code']));
//echo $event;
    // whitelist event columns
    $allowed = [
        'rink1','rink2','rink3','rink4','rink5','rink6','rink7',
        'road1','road2','road3','road4','road5',
        'p2p','elim','relay','mixedrelay','p2prd','elimrd',
        'marathon','figure','free','pair','solodance','pairdance',
        'quartet','precisionskating','showgroup','quadhockey','inlinehockey',
        'mixedrollerhockey','speedslalom','pairslalom','classicslalom',
        'inlinefree','alpine','downhill','rollerderby','rollerfreestyle',
        'skateboarding','scooter'
    ];
    if (!in_array($event, $allowed, true)) {
        throw new Exception('Invalid event column.');
    }

    // allowed result codes
    $allowedCodes = ['1','2','3','P','A','F','S'];
    if (!in_array($code, $allowedCodes, true)) {
        throw new Exception('Invalid result code.');
    }

    $sql = "UPDATE applications SET `$event` = ? WHERE appno = ? LIMIT 1";
    $stmt = mysqli_prepare($con, $sql);
    if (!$stmt) throw new Exception('Prepare failed: '.mysqli_error($con));
    mysqli_stmt_bind_param($stmt, 'si', $code, $appno);
    if (!mysqli_stmt_execute($stmt)) {
        throw new Exception('Execute failed: '.mysqli_stmt_error($stmt));
    }
    mysqli_stmt_close($stmt);

    echo json_encode(['ok' => true]);
} catch (Throwable $e) {
    echo json_encode(['ok' => false, 'error' => $e->getMessage()]);
}
