Bonjour,
Je dois effectuer un tableau avec possibilité de suppression a l'aide de requete SQL, mais dans min html qui affiche le tableau quand je clique sur mon bouton "supprimer" cela m'affiche l'erreur suivante "Warning: Invalid argument supplied for foreach()". J'ai vu sur certains forum que c'etait par rapport à des array et object mais je n'arrive pas à l'appliquer pour mon cas.
Mon code de ma list qui affiche la loste avec le foreach
et le code controleur pour delete
N'hesitez pas à me demander plus d'info pour m'aider car je suis vraiment perdu
Merci d'avance
Modifié par Luka (28 May 2021 - 11:59)
Je dois effectuer un tableau avec possibilité de suppression a l'aide de requete SQL, mais dans min html qui affiche le tableau quand je clique sur mon bouton "supprimer" cela m'affiche l'erreur suivante "Warning: Invalid argument supplied for foreach()". J'ai vu sur certains forum que c'etait par rapport à des array et object mais je n'arrive pas à l'appliquer pour mon cas.
Mon code de ma list qui affiche la loste avec le foreach
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Liste des Musique</title>
<style>
table{
border: 2px solid black;
border-collapse: collapse;
width: 800px;
}
th, td{
border: 1px solid black;
padding: 2px 5px;
}
th{
background-color: #ccc;
}
td.desc{
width: 52%;
}
</style>
</head>
<body>
<h1>Les musiques</h1>
<table>
<tr><th>Id</th><th>Musique</th><th>Nom</th><th>Année</th><th>Suppression</th></tr>
<?php foreach($musiques as $musique): ?>
<tr>
<td><?php echo $musique['id']?></td>
<td><?php echo $musique['Nom_Musique']?></td>
<td><?php echo $musique['Auteur_Musique']?></td>
<td><?php echo $musique['Annee_Musique']?></td>
<td>
<form action="../delete/index.php" method="post">
<input type="hidden" name="Nom_Musique" value="<?php echo $musique['Nom_Musique'];?>">
<input type="submit" value="Supprimer">
</form>
</td>
</tr>
<?php endforeach; ?>
</table>
<p>
<a href="../add?add">Ajoutez votre musique</a>
</p>
<p>
<a href="../formulaire/logout.php"> Logout </a>
</p>
</body>
</html>
et le code controleur pour delete
<?php
include "../include/db_inc.php";
if(isset($_POST['id'])){
$id = $_POST['id'];
$musiques=musiques::findAll();
try{
$sql = 'DELETE FROM musique WHERE id=:id';
$s = $pdo->prepare($sql);
$s->bindValue(':id', $id);
$s->execute();
}
catch(PDOException $e){
$error = "Erreur lors de la suppression d'une recette:" . $e->getMessage();
include 'error.html.php';
exit();
}
}
header("location:../list/list.html.php");
?>
N'hesitez pas à me demander plus d'info pour m'aider car je suis vraiment perdu
Merci d'avance
Modifié par Luka (28 May 2021 - 11:59)