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 :

Récupérer plusieurs cases cochées


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2016
    Messages : 24
    Points : 5
    Points
    5
    Par défaut Récupérer plusieurs cases cochées
    Bonsoir

    je veux récupérer plusieurs cases cochés avec le lot d'information avec (ID Materiel,Nom Materiel,Quantité...) et je ne sais pas comment m'y faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php require_once("connection.php")?>
    <?php
    $req = "SELECT * FROM materiels";
    $res = $conn->query($req);
    ?>
     
     
    <form id="mainform" action="index.php">
     
     
     
    								<table border="0" width="100%" cellpadding="0" cellspacing="0" id="product-table">
     
    		 <?php while($data=mysqli_fetch_array($res)){?>
    				<tr>
    					<td>	
    <input type="checkbox" name="checkbox" /></td>
     
    					<td><?php echo $data['ID_MATERIEL']?></td>
    					<td><?php echo $data['NOM_MATERIEL']?></td>
    					<td><?php echo $data['MARQUE']?></td>
    					<td><?php echo $data['QUANTITE']?></td>
     
     
    				<?php }
    mysqli_free_result($res);
    ?></table><input type="submit" value="Envoyer" />
    				<!--  end product-table................................... --> 
    				</form>
    Nom : Image sans titre.png
Affichages : 471
Taille : 83,4 Ko

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    utilise un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="id[<?=$data['ID_MATERIEL']?>]" />
    Ainsi tu auras les id cochés avec le tableau contenu dans $_POST['id']

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2016
    Messages : 24
    Points : 5
    Points
    5
    Par défaut
    j'ai pas compris l'ami où tu veux en venir ???

    est-ce que vous pouvez plus détailler dans un exemple ??

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu as fais ce qu'il t'a indiqué et regardé le résultat pour commencer ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2016
    Messages : 24
    Points : 5
    Points
    5
    Par défaut
    j'ai pas compris où il voulait en venir ????

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il t'a fourni une ligne de code, est-ce que tu l'as intégrée dans ton code déjà ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2016
    Messages : 24
    Points : 5
    Points
    5
    Par défaut
    Oui je l'ai faite mais je ne sais pas le principe de récupérer ce Post ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    		  <form id="mainform" action="index.php"><table>
    		 <?php while($data=mysqli_fetch_array($res)){?>
    				<tr>
    					<td>	
    <input type="checkbox" name="id[<?=$data['ID_MATERIEL']?>]" /></td>
     
    					<td><?php echo $data['ID_MATERIEL']?></td>
    					<td><?php echo $data['NOM_MATERIEL']?></td>
    					<td><?php echo $data['MARQUE']?></td>
    					<td><?php echo $data['QUANTITE']?></td>
     
     
    				<?php }
    mysqli_free_result($res);
    ?></table><input type="submit"  value="Envoyer" />
    				<!--  end product-table................................... --> 
    				</form>
    maintenant l'action de la récupération du post se fera dans le ficher index.php
    mais je ne sais pas comment le faire,ni par où commencer

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    avec ce bout de code tu verras ce qui a été coché :
    à placer dans le fichier de traitement du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (( ! empty($_POST['id']) && is_array($_POST['id']))
    {
        foreach ($_POST['id'] as $id_materiel)
        {
            // ici tu fais tous les traitements pour chaque élément coché
        }
    }

  9. #9
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Attention ! soit on met l'information qu'on souhaite récupérer en tant qu'index soit on la met en tant que valeur.
    Personnellement j'utilise davantage les valeurs que les index. Donc plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="id[]" value="<?=$data['ID_MATERIEL']?>" />
    A exploiter par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (( ! empty($_POST['id']) && is_array($_POST['id']))
    {
        foreach ($_POST['id'] as $id_materiel)
        {
            // ici tu fais tous les traitements pour chaque élément coché
        }
    }
    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]

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Celira Voir le message
    Attention ! soit on met l'information qu'on souhaite récupérer en tant qu'index soit on la met en tant que valeur.
    Personnellement j'utilise davantage les valeurs que les index.
    ...autant utiliser LES DEUX méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="id[<?=$data['ID_MATERIEL']?>]" value="<?=$data['ID_MATERIEL']?>" />

  11. #11
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Certes, mais il faut faire attention quand même. Ce que Hamzavialo a mis dans son formulaire plus haut c'est un passage par index : <input type="checkbox" name="id[<?=$data['ID_MATERIEL']?>]" /> et ce que rawsrc donne comme boucle c'est une récupération des valeurs
    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]

  12. #12
    Invité
    Invité(e)
    Par défaut
    Oui, c'est juste, et on est tous d'accord là-dessus

    L'intérêt de le mettre AUSSI sur le name, c'est quand il existe plusieurs input (nom, prix,..... ) modifiables -> cet index sert de "liaison" entre les différents array récupérés.
    (mais ceci est une autre histoire...)

Discussions similaires

  1. [MySQL] Récupérer plusieurs cases cochées
    Par nimbus_77 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/06/2008, 20h58
  2. Réponses: 3
    Dernier message: 13/05/2008, 12h57
  3. Réponses: 4
    Dernier message: 20/08/2007, 01h16
  4. Réponses: 2
    Dernier message: 27/07/2007, 18h37
  5. Réponses: 7
    Dernier message: 21/05/2007, 09h56

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