Salut !
Simple curiosité , je voudrais savoir quel principe utilise-t-on en PHP
pour supprimer par exemple plusieurs éléments recceuillis par un checkbox , comme dans phpMyAdmin ...
Merci d'avance !![]()
Salut !
Simple curiosité , je voudrais savoir quel principe utilise-t-on en PHP
pour supprimer par exemple plusieurs éléments recceuillis par un checkbox , comme dans phpMyAdmin ...
Merci d'avance !![]()
Les groupes de checkboxes fonctionnent de la même façon que les select multiple. (Comment extraire les valeurs d'un SELECT multiple ?)
On définit les checkboxes comme formant un groupe de façon à récupérer toutes les valeurs dans un tableau, en gardant à l'esprit que le script PHP ne récupère que les checkboxes cochées.
Donc côté html :
et côté php à la récupération :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <input type="checkbox" name="machin[]" value="1"/> machin 1 <input type="checkbox" name="machin[]" value="2" checked="checked"/> machin 2 <input type="checkbox" name="machin[]" value="3" checked="checked"/> machin 3 <input type="checkbox" name="machin[]" value="4"/> machin 4
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $machins = $_POST['machin']; foreach ($machins as $machin) { echo 'machin : '.$machin; }
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
Je cherche à récupérer les différentes valeurs cochées sans résultat.
J'ai fait exactement le même code et j'obtiens toujours la même erreur.
Qu'est-ce qui ne fonctionne plus ? Moi je comprends plus rien.Warning: Invalid argument supplied for foreach() in /home/www/vhosts/example.com/httpdocs/contact.php on line 18
Comment veux-tu qu'on te le dise sans montrer ton code ?
La solution proposée par Celira est correcte, si tu obtiens des erreurs, c'est que tu n'as pas fait comme elle te l'a montré, sauf qu'il nous est impossible de savoir ce que tu fais...
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Celira t'a donné le principe mais il faut l'adapter au minimum. Notamment avant d'utiliser des variables il faut vérifier leur existence, genre :
Ton code d'erreur indiquait que tu passais un argument invalide au foreach. Et pour cause dans le code initial $_POST['machin'] n'est pas défini par défaut. Tu aurais vu cela plus vite en faisant afficher les erreurs de notice (ce qui aurait affiché 'undefined index...')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $machins = isset($_POST['machin']) ? $_POST['machin'] : array(); foreach ($machins as $machin) { echo 'machin : '.$machin; }
Le problème semble être à ce niveau.
Car $_POST['machin'] il me le reconnait bien en tant que array. En revanche $machins lui n'est pas un array.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $machins = $_POST['machin'];
Donc je ne sais pas ce qui se passe dans l'affectation de la variable $machins mais elle ne prends pas la valeurs de $_POST['machin'] en fait ou du moins pas en tant que array.
Du coup dans mon code j'utilise directement $_POST['machin'] et toutes les erreurs ont disparues mais ça fait pas beau dans le code.
Je vais plutôt ouvrir un nouveau topic pour l'assignation d'un array en tant que array.
Partager