prepare('SELECT id, title, status, tags, description, duration, image_url FROM schools ORDER BY id DESC'); $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { return []; } } // Fonction qui permet de récupérer une école par id (pour la modification dans le panel Admin) function recupererEcoleParId($id) { global $dbh; try { $stmt = $dbh->prepare('SELECT id, title, status, tags, description, duration, image_url FROM schools WHERE id = :id'); $stmt->bindValue(':id', $id, PDO::PARAM_INT); $stmt->execute(); return $stmt->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { return false; } } // Fonction interne qui affiche une carte école (utilisée par la page publique et le panel admin) function afficherEcoleCard($ecole, $admin = false) { $id = (int) $ecole['id']; $titre = htmlspecialchars($ecole['title']); $description = nl2br(htmlspecialchars($ecole['description'])); $duration = htmlspecialchars($ecole['duration']); $image = htmlspecialchars($ecole['image_url']); $status = htmlspecialchars($ecole['status'] ?? ''); $tags = []; // S'il y a des tags alors on les sépares grâce à la virgule (tags1,tags2,etc...) if (!empty($ecole['tags'])) { $tags = array_filter(array_map('trim', explode(',', $ecole['tags']))); } echo '
'; // Si la donnée avec l'image n'est pas null alors on l'affiche if (!empty($image)) { echo '
'; echo 'Image de l ecole ' . $titre . ''; if (!empty($status)) { echo '
' . $status . '
'; } echo '
'; } echo '
'; echo '

' . $titre . '

'; echo '

Période : ' . $duration . '

'; if (!empty($tags)) { echo '
'; foreach ($tags as $tag) { echo '' . htmlspecialchars($tag) . ''; } echo '
'; } echo '

' . $description . '

'; // Boutons de modification / suppression pour le panel admin if ($admin) { echo '
'; echo 'Modifier'; echo 'Supprimer'; echo '
'; } echo '
'; echo '
'; } // Fonction qui va afficher les écoles sur la page publique function afficherEcoles() { $ecoles = listeEcoles(); // Si la table est vide ou n'existe pas encore on n'affiche rien if (empty($ecoles)) { return; } echo '
'; foreach ($ecoles as $ecole) { afficherEcoleCard($ecole, false); } echo '
'; } // Fonction identique à celle en haut mais ajout de boutons pour le panel admin function afficherEcolesAdmin() { $ecoles = listeEcoles(); echo '
'; foreach ($ecoles as $ecole) { afficherEcoleCard($ecole, true); } echo '
'; }