A voir également:
- Supprimer des cases cochés
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer edge - Guide
- Supprimer bing - Guide
- Supprimer compte facebook - Guide
3 réponses
M3NSONG3
Messages postés
615
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
162
23 avril 2018 à 11:50
23 avril 2018 à 11:50
Que dire...
Déjà, je pense que tu devrais passer sous PDO de façon urgente cette méthode est totalement obsolète et non sécurisé.
De plus, penses à te servir absolument de la fonction addslashes avant de récupérer un get ! Surtout si tu l'insères dans une query après !
Après tu as plusieurs moyen...Une boucle avec une liste par exemple ;)
Déjà, je pense que tu devrais passer sous PDO de façon urgente cette méthode est totalement obsolète et non sécurisé.
De plus, penses à te servir absolument de la fonction addslashes avant de récupérer un get ! Surtout si tu l'insères dans une query après !
Après tu as plusieurs moyen...Une boucle avec une liste par exemple ;)
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
23 avril 2018 à 12:00
23 avril 2018 à 12:00
Bonjour,
Pour gérer une "liste" de cases à cocher, tu dois :
- Avoir un formulaire qui encadre ton tableau
- Mettre un bouton qui "submit" le formulaire
- Récupérer le/les ID à supprimer en bouclant sur la variable POST (ou GET) que ton formulaire aura transmit.
Une autre solution, serait de passer par du Javascript + Ajax.
Regarde quelques exemples ici : https://codes-sources.commentcamarche.net/source/102253-exemple-ajax-en-jquery
Ou, écrit à l'arrache, un truc du genre (en AJAX)
NB: Il faudra bien penser à inclure JQUERY à ta page.
Et côté PHP, un script du genre
Au passage ... https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Pour gérer une "liste" de cases à cocher, tu dois :
- Avoir un formulaire qui encadre ton tableau
- Mettre un bouton qui "submit" le formulaire
- Récupérer le/les ID à supprimer en bouclant sur la variable POST (ou GET) que ton formulaire aura transmit.
Une autre solution, serait de passer par du Javascript + Ajax.
Regarde quelques exemples ici : https://codes-sources.commentcamarche.net/source/102253-exemple-ajax-en-jquery
Ou, écrit à l'arrache, un truc du genre (en AJAX)
//lors du click sur le bouton delete $("#bouton_delete").click(function(){ var ids ={}; $.each($('.chk:checked'),function(i,elm){ var id=$(this).val(); ids.push(id); }); delete(ids); }); //fonction qui fera appel au script PHP ajax function delete(ids){ $.ajax({ type: "POST", url: 'tonfichierphp_ajax.php', data: {ids:JSON.stringify((ids)}, dataType: "json", success: function(reponse){ console.log(reponse); }, error:function(jqXHR, textStatus){ console.log('ERROR AJAX : ' + textStatus); } }); }
NB: Il faudra bien penser à inclure JQUERY à ta page.
Et côté PHP, un script du genre
<?php // Fichier : tonfichierphp_ajax.php //récupération PROPRE des variables avant de les utiliser $ids = !empty($_POST['ids']) ? json_decode($_POST['ids'],true) : NULL; if($ids){ foreach($ids as $id_to_delete){ $req1="DELETE FROM ouvrages where id_ouv='$id_to_delete'"; mysql_query($req1);} } }
Au passage ... https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
Modifié le 23 avril 2018 à 12:04
Modifié le 23 avril 2018 à 12:04
Petit oubli :
côté html tu devras ajouter une class à tes cases à cocher
côté html tu devras ajouter une class à tes cases à cocher
td><input type="checkbox" name="order[]" value="604" class='chk'/></td>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
23 avril 2018 à 12:36
23 avril 2018 à 12:36
Pour le coup, si tu prends la solution de l'ajax, tu peux simplement mettre un bouton comme ceci:
<button id="bouton_delete">Supprimer </button>
je suis vraiment désolé pour le dérangement mais ça marche pas :/
voila ce que j'ai fait
Au lieu de supprimer les données ce code ajoute de nouvelles données .
voila ce que j'ai fait
<script type="text/javascript">//lors du click sur le bouton delete
$("#bouton_delete").click(function(){
var ids ={};
$.each($('.chk:checked'),function(i,elm){
var id=$(this).val();
ids.push(id);
});
delete(ids);
});
//fonction qui fera appel au script PHP ajax
function delete(ids){
$.ajax({
type: "POST",
url: 'administration-articles.php',
data: {ids:JSON.stringify((ids)},
dataType: "json",
success: function(reponse){
console.log(reponse);
},
error:function(jqXHR, textStatus){
console.log('ERROR AJAX : ' + textStatus);
}
});
</script>
<?php
//récupération PROPRE des variables avant de les utiliser
$ids = !empty($_POST['ids']) ? json_decode($_POST['ids'],true) : NULL;
if($ids){
foreach($ids as $id_to_delete){
$req1="DELETE FROM ouvrages where id_ouv=$id_to_delete";
mysql_query($req1);}
}
?>
<button id='bouton_delete'>Supprimer </button>
Au lieu de supprimer les données ce code ajoute de nouvelles données .
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
Modifié le 23 avril 2018 à 13:14
Modifié le 23 avril 2018 à 13:14
Tu as regardé les exemples du lien que je t'ai donné ?
Sachant que le code php... est à mettre dns un fichier à part...
As tu également inclus jquery a ta page ?
Et pour finir... Qu'as tu dans la console de ton navigateur ?
Sachant que le code php... est à mettre dns un fichier à part...
As tu également inclus jquery a ta page ?
Et pour finir... Qu'as tu dans la console de ton navigateur ?
C'est Bon , j'ai trouvé la solution en utilisant PHP
voila le code
Je vais prendre en considération vos conseil Merci!
voila le code
<?php
include("connexion.php");
if (!empty($_POST['supprimer'])) {
foreach ($_POST['supprimer'] as $cle) {
$var1=$_GET['Variable'];
$sql = "DELETE FROM `etudiant` WHERE cne='$cle' ";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}}
include("administration-etudiants.php");
echo '<p><script type="text/javascript">alert(" Suppression avec succès!")</script></p>';
mysql_close();
?>
Je vais prendre en considération vos conseil Merci!
23 avril 2018 à 12:01
Je ne suis qu'une débutante , je vais développer les méthodes plus tard .
Maintenant j'ai juste besoin de terminer ce mini projet :p
Tu peux m'expliquer comment je peux faire une boucle avec une liste parce que j'ai pas compris que voulez-vous dire.
MERCI
23 avril 2018 à 13:07
Je serais plus aptes à expliquer des choses ce soir si personne ne t'as encore aidé.
Si tu sais comment savoir si une checkbox est cochée grâce au $_POST[] il te suffira de les ajouter au fur à mesure dans une liste (Chercher sur la docs "array") et de faire une boucle avec les différentes Query. Je ne peux pas te fournir d'AJAX ni je javascript comme les autres je ne code pas ces langages là.
Je repasserais ce soir ;) Bon courage !
23 avril 2018 à 13:55