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)