IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Action sur multiple checkbox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Par défaut Action sur multiple checkbox
    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 !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    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 :
    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
    et côté php à la récupération :
    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]

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 19
    Par défaut
    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.


    Warning: Invalid argument supplied for foreach() in /home/www/vhosts/example.com/httpdocs/contact.php on line 18
    Qu'est-ce qui ne fonctionne plus ? Moi je comprends plus rien.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    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 :

    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;
    }
    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...')

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 19
    Par défaut
    Le problème semble être à ce niveau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $machins = $_POST['machin'];
    Car $_POST['machin'] il me le reconnait bien en tant que array. En revanche $machins lui n'est pas un array.
    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.

Discussions similaires

  1. action sur une sélection multiple dans un DBGRID
    Par tarmo57 dans le forum Débuter
    Réponses: 3
    Dernier message: 09/09/2012, 14h16
  2. Action sur checkbox
    Par mdh12 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 22/12/2010, 12h21
  3. [WD12E] déclenchement d'action sur checkbox
    Par biloux911 dans le forum WinDev
    Réponses: 4
    Dernier message: 09/11/2010, 11h24
  4. Double action sur une checkbox
    Par undercrash dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/03/2008, 10h52
  5. Actions sur checkbox ?
    Par limubai dans le forum Excel
    Réponses: 2
    Dernier message: 17/05/2007, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo