mirror of
https://github.com/Alvin-Zilverstand/pokedex.git
synced 2026-03-06 11:07:31 +01:00
Enhance competitor data fetching by ensuring JSON response and improving data handling in the frontend; refactor variable names for consistency
This commit is contained in:
312
v2/error_log.txt
312
v2/error_log.txt
@@ -2,3 +2,315 @@ Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count
|
|||||||
FROM user_pokemon
|
FROM user_pokemon
|
||||||
GROUP BY user_id
|
GROUP BY user_id
|
||||||
ORDER BY pokemon_count DESC
|
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
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ if ($conn->connect_error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
header("Cache-Control: max-age=86400"); // Cache for 24 hours
|
header("Cache-Control: max-age=86400"); // Cache for 24 hours
|
||||||
|
header("Content-Type: application/json"); // Ensure JSON response
|
||||||
|
|
||||||
// Fetch competitors data
|
// Fetch competitors data
|
||||||
$sql = "SELECT user_id, COUNT(pokemon_id) AS pokemon_count
|
$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");
|
logMessage("Executing query: $sql");
|
||||||
$result = $conn->query($sql);
|
$result = $conn->query($sql);
|
||||||
|
|
||||||
$competitors = [];
|
if ($result) {
|
||||||
while ($row = $result->fetch_assoc()) {
|
$competitors = [];
|
||||||
$competitors[] = $row;
|
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();
|
$conn->close();
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ if ($conn->connect_error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
header("Cache-Control: max-age=86400"); // Cache for 24 hours
|
header("Cache-Control: max-age=86400"); // Cache for 24 hours
|
||||||
|
header("Content-Type: application/json"); // Ensure JSON response
|
||||||
|
|
||||||
if (isset($_GET['id'])) {
|
if (isset($_GET['id'])) {
|
||||||
$id = intval($_GET['id']);
|
$id = intval($_GET['id']);
|
||||||
@@ -37,27 +38,37 @@ if (isset($_GET['id'])) {
|
|||||||
logMessage("Executing query: $sql");
|
logMessage("Executing query: $sql");
|
||||||
$result = $conn->query($sql);
|
$result = $conn->query($sql);
|
||||||
|
|
||||||
if ($result->num_rows > 0) {
|
if ($result) {
|
||||||
$pokemon = $result->fetch_assoc();
|
if ($result->num_rows > 0) {
|
||||||
$pokemon['types'] = explode(',', $pokemon['types']);
|
$pokemon = $result->fetch_assoc();
|
||||||
$pokemon['abilities'] = explode(',', $pokemon['abilities']);
|
$pokemon['types'] = explode(',', $pokemon['types']);
|
||||||
logMessage("Query result: " . json_encode($pokemon));
|
$pokemon['abilities'] = explode(',', $pokemon['abilities']);
|
||||||
echo json_encode($pokemon);
|
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 {
|
} else {
|
||||||
logMessage("No Pokémon found for ID: $id");
|
logMessage("Error executing query: " . $conn->error);
|
||||||
echo json_encode(["error" => "No Pokémon found"]);
|
echo json_encode(["error" => "Error fetching Pokémon data"]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$sql = "SELECT * FROM pokemon WHERE deleted = 0";
|
$sql = "SELECT * FROM pokemon WHERE deleted = 0";
|
||||||
logMessage("Executing query: $sql");
|
logMessage("Executing query: $sql");
|
||||||
$result = $conn->query($sql);
|
$result = $conn->query($sql);
|
||||||
|
|
||||||
$pokemons = [];
|
if ($result) {
|
||||||
while ($row = $result->fetch_assoc()) {
|
$pokemons = [];
|
||||||
$pokemons[] = $row;
|
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();
|
$conn->close();
|
||||||
|
|||||||
@@ -33,17 +33,21 @@ function fetchPokemons() {
|
|||||||
.then((response) => response.text())
|
.then((response) => response.text())
|
||||||
.then((text) => {
|
.then((text) => {
|
||||||
console.log("Server response:", text);
|
console.log("Server response:", text);
|
||||||
const data = JSON.parse(text);
|
try {
|
||||||
if (Array.isArray(data)) {
|
const data = JSON.parse(text);
|
||||||
allPokemons = data;
|
if (Array.isArray(data)) {
|
||||||
localStorage.setItem("pokemons", JSON.stringify(allPokemons));
|
allPokemons = data;
|
||||||
localStorage.setItem("pokemons_timestamp", Date.now().toString());
|
localStorage.setItem("pokemons", JSON.stringify(allPokemons));
|
||||||
console.log("Fetched and cached Pokémon data:", allPokemons);
|
localStorage.setItem("pokemons_timestamp", Date.now().toString());
|
||||||
filteredPokemons = allPokemons.filter(pokemon => !pokemon.deleted);
|
console.log("Fetched and cached Pokémon data:", allPokemons);
|
||||||
displayPokemons(filteredPokemons);
|
filteredPokemons = allPokemons.filter(pokemon => !pokemon.deleted);
|
||||||
fetchCompetitors();
|
displayPokemons(filteredPokemons);
|
||||||
} else {
|
fetchCompetitors();
|
||||||
console.error("Unexpected response format:", data);
|
} else {
|
||||||
|
console.error("Unexpected response format:", data);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error parsing JSON:", error);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
@@ -208,10 +212,15 @@ function clearSearch() {
|
|||||||
function fetchCompetitors() {
|
function fetchCompetitors() {
|
||||||
console.log("Fetching competitors data from server...");
|
console.log("Fetching competitors data from server...");
|
||||||
fetch(`./get-competitors.php`)
|
fetch(`./get-competitors.php`)
|
||||||
.then((response) => response.json())
|
.then((response) => response.text())
|
||||||
.then((data) => {
|
.then((text) => {
|
||||||
console.log("Competitors data:", data);
|
console.log("Competitors data:", text);
|
||||||
displayCompetitors(data);
|
try {
|
||||||
|
const data = JSON.parse(text);
|
||||||
|
displayCompetitors(data);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error parsing JSON:", error);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error("Error fetching competitors data:", error);
|
console.error("Error fetching competitors data:", error);
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
const inputElement = document.querySelector("#search-input");
|
const inputElement = document.querySelector("#search-input");
|
||||||
const search_icon = document.querySelector("#search-close-icon");
|
const searchIcon = document.querySelector("#search-close-icon");
|
||||||
const sort_wrapper = document.querySelector(".sort-wrapper");
|
const sortWrapper = document.querySelector(".sort-wrapper");
|
||||||
|
|
||||||
inputElement.addEventListener("input", () => {
|
inputElement.addEventListener("input", () => {
|
||||||
handleInputChange(inputElement);
|
handleInputChange(inputElement);
|
||||||
});
|
});
|
||||||
search_icon.addEventListener("click", handleSearchCloseOnClick);
|
searchIcon.addEventListener("click", handleSearchCloseOnClick);
|
||||||
sort_wrapper.addEventListener("click", handleSortIconOnClick);
|
sortWrapper.addEventListener("click", handleSortIconOnClick);
|
||||||
|
|
||||||
function handleInputChange(inputElement) {
|
function handleInputChange(inputElement) {
|
||||||
const inputValue = inputElement.value;
|
const inputValue = inputElement.value;
|
||||||
|
|||||||
Reference in New Issue
Block a user