par
negima » 15 août 2020, 22:27
Bonjour,
J'ai fait des cases à cocher pour supprimer plusieurs articles en même temps. J'obtiens un tableau dans $_POST['article'].
J'efface les articles cochés et ses commentaires liés. Voici la partie suppression de mon script :
Code : Tout sélectionner
$chaine = implode(", ", array_map('intval', $_POST['article']));
// var_dump ($chaine); // Exemple: '15, 14, 8'
/* --- Suppresion commentaires liés : --- */
$db->query("DELETE FROM comments WHERE articles_id IN ($chaine)"); // Exemple: DELETE FROM comments WHERE articles_id IN ('15, 14, 8')
/* --- Suppresion articles : --- */
$query = $db->query("DELETE FROM articles WHERE id IN ($chaine)");
Cela marche bien.
Mais j'ai quelques questions : Ne dois-je pas vérifier que les commentaires existent avant d'effacer ?
C'est normal que je n'ai pas besoin de faire $query->execute() pour effacer avec la méthode IN ?
Bonjour,
J'ai fait des cases à cocher pour supprimer plusieurs articles en même temps. J'obtiens un tableau dans $_POST['article'].
J'efface les articles cochés et ses commentaires liés. Voici la partie suppression de mon script :
[code] $chaine = implode(", ", array_map('intval', $_POST['article']));
// var_dump ($chaine); // Exemple: '15, 14, 8'
/* --- Suppresion commentaires liés : --- */
$db->query("DELETE FROM comments WHERE articles_id IN ($chaine)"); // Exemple: DELETE FROM comments WHERE articles_id IN ('15, 14, 8')
/* --- Suppresion articles : --- */
$query = $db->query("DELETE FROM articles WHERE id IN ($chaine)");
[/code]
Cela marche bien.
Mais j'ai quelques questions : Ne dois-je pas vérifier que les commentaires existent avant d'effacer ?
C'est normal que je n'ai pas besoin de faire $query->execute() pour effacer avec la méthode IN ?