<?php

require "db.php";

function new_record_form() {
    echo '<form>
  <label for="color">Barva:</label>
  <input type="text" id="color" name="color"><input type=hidden id="action" name="action" value="add"><br><br>
  <input type="submit" value="Vytvořit">
</form>';
}

function edit_record_form($id) {
  global $conn;

  $stmt = $conn->prepare("SELECT barva FROM barvy WHERE id = ?");
  $stmt->execute([$id]);
  $row = $stmt->fetch();
  $color = $row ? $row['barva'] : '';

  echo '<form>
<label for="color">Nová barva:</label>
<input type="text" id="color" name="color" value="'.$color.'">

<input type="hidden" name="id" value="'.$id.'">
<input type="hidden" name="action" value="update">

<br><br>
<input type="submit" value="Upravit">
</form>';
}

function save_new_record($barva) {
  global $conn;
  
  try {
    $sql = "INSERT INTO barvy (barva) VALUES (?)";
    $stmt = $conn->prepare($sql);
    $stmt->execute([$barva]);
    echo "<h2>Záznam uložen</h2><br><br><a href=index.php>Zpět na hlavní stránku</a>";
  } catch(PDOException $e) {
    echo "Nepodařilo se záznam založit";
    echo $sql . "<br>" . $e->getMessage();
  }
}

function delete_record($id) {
  global $conn;
  try {
    $sql = "DELETE FROM barvy WHERE id=$id";
    $conn->exec($sql);
    echo "<h2>Záznam smazán</h2><br><br><a href=index.php>Zpět na hlavní stránku</a>";
  } catch(PDOException $e) {
    echo "Nepodařilo se záznam smazat";
    echo $sql . "<br>" . $e->getMessage();
  }
}

function update_record($id, $barva) {
  global $conn;

  try {
    $sql = "UPDATE barvy SET barva = ? WHERE id = ?";
    $stmt = $conn->prepare($sql);
    $stmt->execute([$barva, $id]);

    echo "<h2>Záznam upraven</h2><br><br><a href=index.php>Zpět na hlavní stránku</a>";

  } catch(PDOException $e) {
    echo "Nepodařilo se záznam upravit";
    echo $sql . "<br>" . $e->getMessage();
  }
}

if (isset($_GET["action"])) {
    switch ($_GET["action"]) {
        case "create":
        //echo "Budeme pojmenovávat nový záznam";
        new_record_form();
        break;
        case "add":
        //echo "Budeme ukládat nový záznam";
        save_new_record($_GET["color"]);
        break;
        case "edit":
        edit_record_form($_GET["id"]);
        break;
        case "update":
        update_record($_GET["id"], $_GET["color"]);
        break;
        case "delete":
        delete_record($_GET["id"]);
        break;
        default:
        echo "Něco je divně!";
    }
}  else echo "Co po mne jako chceš?!";

?>