Ajout de la modifications des XP/Projets en admin (fonctionnel)

This commit is contained in:
Esteban
2026-06-05 16:43:04 +02:00
parent c582f68c1d
commit 0cc9abb92f
10 changed files with 419 additions and 42 deletions
+70 -2
View File
@@ -11,7 +11,7 @@ function listeProjets() {
// Essayer
try {
// Requête SQL qui récupère titre, tags, description, image_url
$stmt = $dbh->prepare('SELECT title, tags, description, image_url FROM projects');
$stmt = $dbh->prepare('SELECT id, title, tags, description, image_url FROM projects ORDER BY id DESC');
// Execution de la requête SQL
$stmt->execute();
// Retourne toutes les données collectés dans un ARRAY
@@ -22,6 +22,22 @@ function listeProjets() {
}
}
// Fonction qui permet de récupérer les projets par id et donc de modifier une xp en particulier en ciblant l'id
function recupererProjetParId($id) {
global $dbh;
try {
$stmt = $dbh->prepare('SELECT id, title, tags, description, image_url FROM projects WHERE id = :id');
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetch(PDO::FETCH_ASSOC);
// En cas d'erreur retourner false et envoyer un message d'erreur avec l'erreur
} catch (PDOException $e) {
die("Erreur de connexion à la base de donnée portfolio :" . $e->getMessage());
return false;
}
}
// Fonction qui va afficher les projets
function afficherProjets() {
// Récupération de la liste des projets
@@ -74,4 +90,56 @@ function afficherProjets() {
}
echo '</div>';
}
}
// Fonction identique à celle en haut mais ajout de bouton
function afficherProjetsAdmin() {
$projets = listeProjets();
echo '<div class="projects-list">';
foreach ($projets as $projet) {
$id = (int) $projet['id'];
$titre = htmlspecialchars($projet['title']);
$description = nl2br(htmlspecialchars($projet['description']));
$image = htmlspecialchars($projet['image_url']);
$tags = [];
if (!empty($projet['tags'])) {
$tags = array_filter(array_map('trim', explode(',', $projet['tags'])));
}
echo '<article class="project-card">';
if (!empty($image)) {
echo '<div class="project-banner">';
echo '<img src="' . $image . '" alt="Image du projet ' . $titre . '">';
echo '</div>';
}
echo '<div class="project-content">';
echo '<h2>' . $titre . '</h2>';
if (!empty($tags)) {
echo '<div class="project-tags">';
foreach ($tags as $tag) {
echo '<span class="tag">' . htmlspecialchars($tag) . '</span>';
}
echo '</div>';
}
echo '<p>' . $description . '</p>';
// Boutons qui vont permettrent la modification / Suppresion
echo '<div class="admin-actions">';
echo '<a class="btn-submit btn-edit" href="./admin.php?edit_project=' . $id . '">Modifier</a>';
echo '<a class="btn-submit btn-delete" href="../scripts/removeProject.php?id=' . $id . '" onclick="return confirm(\'Voulez-vous vraiment supprimer ce projet ?\');">Supprimer</a>';
echo '</div>';
echo '</div>';
echo '</article>';
}
echo '</div>';
}