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 :

[Tableaux] function pour affichage des selections de case à cocher


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Par défaut [Tableaux] function pour affichage des selections de case à cocher
    Bonjour,

    je voudrai faire une fonction qui m'affiche la valeur des cases que j'ai coché lorsque je valid mon formulaire

    comment puis je faire ca

    voila la structure de mes cases à cocher

    <input name='materiel[]' type='checkbox' value='<? echo $id_mat; ?>'>

    je sais pas si je dois mettre materiel[] ou materiel enfin bref je suis perdu

    merci d'avancre
    Je préfère ma soif d'apprendre, à leurs certitudes de savoir....

  2. #2
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Par défaut
    bah j'ai fait ca


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function Verif_Dispo_Materiel(){
     
    if (isset($_POST['materiel'])) {
    		for ($i = 0; $i < count($_POST['materiel']); $i++)
    		{
    			echo $_POST['materiel'];
     
    }}
     
    }
    mais il m'ecrit toujour Array
    Je préfère ma soif d'apprendre, à leurs certitudes de savoir....

  3. #3
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    c'est tout a fait normal parce que tu recuperes une liste dans un tableau.
    essaie avec print_r() par exemple, (echo affiche toujours array quand tu mets un tableau), tu verras quelles sont les differentes variables incluses dan ton tableau. Tu comprendras assez voite qu'estce que tu dois mettre en echo apres.
    mais pourquoi tu cours?

  4. #4
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    si tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab = $_POST['materiel'];
    tu récupère un tableau qui possède toutes les valeurs (value) des éléments ayant était sélectionné

    ex : $tab[0] -> matos1 ; $tab[1] -> matos4

    donc tu peux parcourir ton tableau et faire un traitement sur chaque valeur présente mais il faut que tu fasse gaffe si ton tableau est vide, il faut testé avant si il y a qq chose dedans ou alors ERREUR !!
    Bankaï !!

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Tu y étais presque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!empty($_POST['materiel'])) {
          for ($i = 0; $i < count($_POST['materiel']); $i++)
          {
             echo $_POST['materiel'][$i];
     
          }
    }

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    etant donné que ya des crochets au niveau du nom de ta case a cocher, cela signifie que la valeur recupérer sera un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //tu le recupère com ça
    $tableau=$_POST['materiel'];
    //tu parcours ton tableau et tu affiche
    foreach ($tableau as $casecocher){
    echo $casecocher
    }
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  7. #7
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    Moi je reprendrais les 2 post du dessus pour faire le final !! (avec correction des erreurs ^^)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?
     
    if (!empty($_POST['materiel'])) { 
    		$tableau = $_POST['materiel'];
    		foreach ($tableau as $casecocher){ 
    			echo $casecocher ;
    		} 
    } else {
    	echo 'vide';
    }
     
    ?>
    Bankaï !!

  8. #8
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Par défaut
    merci bien
    Je préfère ma soif d'apprendre, à leurs certitudes de savoir....

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    Moi je reprendrais les 2 post du dessus pour faire le final !! Very Happy (avec correction des erreurs ^^)

    Code:
    <?

    if (!empty($_POST['materiel'])) {
    $tableau = $_POST['materiel'];
    foreach ($tableau as $casecocher){
    echo $casecocher ;
    }
    } else {
    echo 'vide';
    }

    ?>
    a la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (!empty($_POST['materiel'])
    je te propose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (isset($_POST['materiel']
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Citation Envoyé par Kirkis
    Salut

    Tu y étais presque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!empty($_POST['materiel'])) {
          for ($i = 0; $i < count($_POST['materiel']); $i++)
          {
             echo $_POST['materiel'][$i];
     
          }
    }
    J'ai préféré modifier au minimum ton code car il n'avait besoin que d'un coup de pouce. Cependant, puisque tout le monde y va de sa solution qui fonctionne, j'en profite pour te donner celle que j'aurais utilisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!empty($_POST['materiel'])) {
          foreach ($_POST['materiel'] as $materiel)
          {
             echo $materiel;
     
          }
    }
    D'habitude, j'utilise un mot pluriel dans le POST et un singulier à l'intérieur du foreach mais, dans ce cas précis, c'est assez difficile.
    Je péfère !empty() à isset() dans la mesure où cela m'évite de parcourir un tableau qui existe mais qui est vide.

  11. #11
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    Alala PHP 10000 façon de faire la même chose !! enfin c toujours mieux que d'essayer de trouver la seule solution existante !!
    Bankaï !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Aide pour inverser des chiffres
    Par Equinoxe5 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2008, 23h32
  2. [Tableaux] Problème pour modifier des données
    Par Oli_Ifre dans le forum Langage
    Réponses: 8
    Dernier message: 11/04/2007, 15h33
  3. Aide pour affichage des résultats
    Par vanou dans le forum ASP
    Réponses: 7
    Dernier message: 08/06/2006, 20h53
  4. [Tableaux] Syntaxe pour transmettre des variables
    Par kilkikou dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2006, 10h26
  5. Réponses: 3
    Dernier message: 07/04/2006, 16h06

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