From 7d9ce536fc4a0236189abda464c6d55d26aa17e6 Mon Sep 17 00:00:00 2001 From: vista-man <524715@vistacollege.nl> Date: Wed, 26 Mar 2025 13:51:59 +0100 Subject: [PATCH] Enhance competitor data fetching by ensuring JSON response and improving data handling in the frontend; refactor variable names for consistency --- v2/error_log.txt | 312 +++++++++++++++++++++++++++++++++++++++++ v2/get-competitors.php | 16 ++- v2/get-pokemon.php | 37 +++-- v2/pokemon.js | 39 ++++-- v2/search.js | 8 +- 5 files changed, 375 insertions(+), 37 deletions(-) diff --git a/v2/error_log.txt b/v2/error_log.txt index 388022d..db8337c 100644 --- a/v2/error_log.txt +++ b/v2/error_log.txt @@ -2,3 +2,315 @@ Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count FROM user_pokemon GROUP BY user_id ORDER BY pokemon_count DESC +Executing query: INSERT INTO pokemon (id, name, height, weight, base_experience, species_url, image_url) + VALUES (1, '1', 1, 1, 1, '1', '1') +Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count + FROM user_pokemon + GROUP BY user_id + ORDER BY pokemon_count DESC +Executing query: INSERT INTO pokemon (id, name, height, weight, base_experience, species_url, image_url) + VALUES (1, '1', 1, 1, 1, '1', '1') +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id +Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count + FROM user_pokemon + GROUP BY user_id + ORDER BY pokemon_count DESC +Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed + FROM pokemon p + LEFT JOIN species s ON p.id = s.pokemon_id + LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id + LEFT JOIN types t ON pt.type_id = t.id + LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id + LEFT JOIN abilities a ON pa.ability_id = a.id + LEFT JOIN stats st ON p.id = st.pokemon_id + WHERE p.id = 1 AND p.deleted = 0 + GROUP BY p.id diff --git a/v2/get-competitors.php b/v2/get-competitors.php index 7920136..21e93da 100644 --- a/v2/get-competitors.php +++ b/v2/get-competitors.php @@ -21,6 +21,7 @@ if ($conn->connect_error) { } header("Cache-Control: max-age=86400"); // Cache for 24 hours +header("Content-Type: application/json"); // Ensure JSON response // Fetch competitors data $sql = "SELECT user_id, COUNT(pokemon_id) AS pokemon_count @@ -30,12 +31,17 @@ $sql = "SELECT user_id, COUNT(pokemon_id) AS pokemon_count logMessage("Executing query: $sql"); $result = $conn->query($sql); -$competitors = []; -while ($row = $result->fetch_assoc()) { - $competitors[] = $row; +if ($result) { + $competitors = []; + while ($row = $result->fetch_assoc()) { + $competitors[] = $row; + } + logMessage("Query result: " . json_encode($competitors)); + echo json_encode($competitors); +} else { + logMessage("Error executing query: " . $conn->error); + echo json_encode(["error" => "Error fetching competitors data"]); } -logMessage("Query result: " . json_encode($competitors)); -echo json_encode($competitors); $conn->close(); ?> diff --git a/v2/get-pokemon.php b/v2/get-pokemon.php index 4051026..a546c16 100644 --- a/v2/get-pokemon.php +++ b/v2/get-pokemon.php @@ -21,6 +21,7 @@ if ($conn->connect_error) { } header("Cache-Control: max-age=86400"); // Cache for 24 hours +header("Content-Type: application/json"); // Ensure JSON response if (isset($_GET['id'])) { $id = intval($_GET['id']); @@ -37,27 +38,37 @@ if (isset($_GET['id'])) { logMessage("Executing query: $sql"); $result = $conn->query($sql); - if ($result->num_rows > 0) { - $pokemon = $result->fetch_assoc(); - $pokemon['types'] = explode(',', $pokemon['types']); - $pokemon['abilities'] = explode(',', $pokemon['abilities']); - logMessage("Query result: " . json_encode($pokemon)); - echo json_encode($pokemon); + if ($result) { + if ($result->num_rows > 0) { + $pokemon = $result->fetch_assoc(); + $pokemon['types'] = explode(',', $pokemon['types']); + $pokemon['abilities'] = explode(',', $pokemon['abilities']); + logMessage("Query result: " . json_encode($pokemon)); + echo json_encode($pokemon); + } else { + logMessage("No Pokémon found for ID: $id"); + echo json_encode(["error" => "No Pokémon found"]); + } } else { - logMessage("No Pokémon found for ID: $id"); - echo json_encode(["error" => "No Pokémon found"]); + logMessage("Error executing query: " . $conn->error); + echo json_encode(["error" => "Error fetching Pokémon data"]); } } else { $sql = "SELECT * FROM pokemon WHERE deleted = 0"; logMessage("Executing query: $sql"); $result = $conn->query($sql); - $pokemons = []; - while ($row = $result->fetch_assoc()) { - $pokemons[] = $row; + if ($result) { + $pokemons = []; + while ($row = $result->fetch_assoc()) { + $pokemons[] = $row; + } + logMessage("Query result: " . json_encode($pokemons)); + echo json_encode($pokemons); + } else { + logMessage("Error executing query: " . $conn->error); + echo json_encode(["error" => "Error fetching Pokémon data"]); } - logMessage("Query result: " . json_encode($pokemons)); - echo json_encode($pokemons); } $conn->close(); diff --git a/v2/pokemon.js b/v2/pokemon.js index 70e8f7f..2a81792 100644 --- a/v2/pokemon.js +++ b/v2/pokemon.js @@ -33,17 +33,21 @@ function fetchPokemons() { .then((response) => response.text()) .then((text) => { console.log("Server response:", text); - const data = JSON.parse(text); - if (Array.isArray(data)) { - allPokemons = data; - localStorage.setItem("pokemons", JSON.stringify(allPokemons)); - localStorage.setItem("pokemons_timestamp", Date.now().toString()); - console.log("Fetched and cached Pokémon data:", allPokemons); - filteredPokemons = allPokemons.filter(pokemon => !pokemon.deleted); - displayPokemons(filteredPokemons); - fetchCompetitors(); - } else { - console.error("Unexpected response format:", data); + try { + const data = JSON.parse(text); + if (Array.isArray(data)) { + allPokemons = data; + localStorage.setItem("pokemons", JSON.stringify(allPokemons)); + localStorage.setItem("pokemons_timestamp", Date.now().toString()); + console.log("Fetched and cached Pokémon data:", allPokemons); + filteredPokemons = allPokemons.filter(pokemon => !pokemon.deleted); + displayPokemons(filteredPokemons); + fetchCompetitors(); + } else { + console.error("Unexpected response format:", data); + } + } catch (error) { + console.error("Error parsing JSON:", error); } }) .catch((error) => { @@ -208,10 +212,15 @@ function clearSearch() { function fetchCompetitors() { console.log("Fetching competitors data from server..."); fetch(`./get-competitors.php`) - .then((response) => response.json()) - .then((data) => { - console.log("Competitors data:", data); - displayCompetitors(data); + .then((response) => response.text()) + .then((text) => { + console.log("Competitors data:", text); + try { + const data = JSON.parse(text); + displayCompetitors(data); + } catch (error) { + console.error("Error parsing JSON:", error); + } }) .catch((error) => { console.error("Error fetching competitors data:", error); diff --git a/v2/search.js b/v2/search.js index 71df705..2b98c48 100644 --- a/v2/search.js +++ b/v2/search.js @@ -1,12 +1,12 @@ const inputElement = document.querySelector("#search-input"); -const search_icon = document.querySelector("#search-close-icon"); -const sort_wrapper = document.querySelector(".sort-wrapper"); +const searchIcon = document.querySelector("#search-close-icon"); +const sortWrapper = document.querySelector(".sort-wrapper"); inputElement.addEventListener("input", () => { handleInputChange(inputElement); }); -search_icon.addEventListener("click", handleSearchCloseOnClick); -sort_wrapper.addEventListener("click", handleSortIconOnClick); +searchIcon.addEventListener("click", handleSearchCloseOnClick); +sortWrapper.addEventListener("click", handleSortIconOnClick); function handleInputChange(inputElement) { const inputValue = inputElement.value;