 <?php

// hieronder de juiste gegevens invullen en uploaden op de website.
// Testen kan je doen met door te surfen naar je URL met deze parameters:
//
// 1) https://domain/octopus-api.php
//    expected response:
//      {
//        "health_status" : "API online!"
//      }
//
// 2) https://domain/octopus-api.php?key=BP_Bidprentjes&where=1=1&limit=5
//    expected response:
//      {
//        "code" : 200,
//        "table_name" : "BP_Bidprentjes",
//        "entries" : [] // list of query results
//      }

$servername = "ljvqxzhdatavfb.mysql.db";
$username = "ljvqxzhdatavfb";
$password = "FVBrugge123";
$database = "ljvqxzhdatavfb";

// Create connection
$conn = new mysqli($servername, $username, $password, $database);

// Check connection
header("Content-Type: application/json;charset=utf-8");
if ($conn->connect_error) {
  echo json_encode([
    "error" => "Connection failed: " . $conn->connect_error
  ]);
  die();
}

$conn->set_charset("utf8");

if(isset($_GET['key'])){
  $key = $_GET['key'];
  $where = $_GET['where'];
  $limit = $_GET['limit'];

  $sql = "SELECT * FROM $key";
  if(!is_null($where)){
    $sql .= " WHERE $where";
  }
  if(!is_null($limit)){
    $sql .= " LIMIT $limit";
  }
  else{
    $sql .= " LIMIT 100";
  }
  $result = $conn->query($sql);

  $entries = [];

  if(isset($_GET["count"]) && $_GET["count"] == 1){
    $resp = [
      "code" => 200,
      "table_name" => $key,
      "count" => $result->num_rows,
      "entries" => []
    ];
  }
  else{
    // details
    for($i = 0; $i < $result->num_rows; $i++) {
      $obj = $result->fetch_assoc();
      $entries[] = $obj;
    }

    $resp = [
      "code" => 200,
      "table_name" => $key,
      "count" => $result->num_rows,
      "entries" => $entries
    ];
  }
  echo json_encode($resp);
}
else{
  echo json_encode([
    "health_status" => "API online!"
  ]);
}

$conn->close();
?>
