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 :

Cases à cocher dans un tableau


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut Cases à cocher dans un tableau
    Bonjour, j'ai mon formulaire composer d'un tableau je souhaite effectuer une recherche soit sur toutes mes lignes, soit sur certaine en particulier
    Pour cela j'ai créer
    un bouton verification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="Verification" type="Submit" value="Verification">
    des checkbox sur chaqu'une de mes ligne lorsque je remplis mon tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type='checkbox' name="Verif[]" value= $Tab['NumLien'] align="center"/></td>
    et j'ai ausi créer une checkbox 'tous' en haut de ma colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <th>Verifier<br><br>Tous&nbsp;<input type='checkbox'  name="TOUS" value='tous'/></th>
    je cherche un code capable de me mettre un message d'erreur si aucune checkbox n'est cocher et qui puisse faire mes verification soit sur toutes mes lignes si 'tous' et selectionner soit sur les ligne qui on etais selectionnée
    j'ai trouver quelque exemple mais qui ne fonctionne pas pour mon cas
    voici mon code(qui ne fonctionne pas)
    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
    30
    <td>
    <?php
    if (isset($_POST['Verification']))
    {
    $case=$_POST['tous'];
    if(!empty($case))
    {
    $cocher= "Attention vous n'avez rien cochez!!";
    exit;
    }
    else
    {
        if (!$fp = @fopen(''.$Tab[LibelleLienSprice].'',"r")) 
    {
    echo '<span style="color:red;">'.$Tab['LibelleLienSprice'].'</span>';
    $bool='false';
    }
    else 
    {
    echo '<span style="color:green;">'.$Tab['LibelleLienSprice'].'</span>';
    $bool='true';
    }
    }
    }
    else
    {
     echo $Tab['LibelleLienSprice'];
    }
    ?>
    </td>

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    Perso j'aurais écrit ca comme ca :
    (mais je suis pas sur d'avoir bien compris ce que tu veux...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if(isset($_POST['verification'])){
            if($_POST['tous']){
                foreach ($_POST['Verif'] as $ver){
                    // la tu parcours toutes tes cases si tu a coché TOUS
                }
            }
            else {
                // là tu n'as pas coché tous ...
                // tu peux donc faire un for each pour parcourir les cases et vérifier laquelle est cochée
                // genre comme ca : foreach ($_POST['verif'] as $v) { if($v) .... else ...}
            }
        }
        else ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    je n'ai pas reussi a integré le fait que la case 'tous' ou une autre(1 au moins) doit etre obligatoirement cocher sinon un message s'affiche
    quelqu'un a une solution pour moi

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 132
    Points
    132
    Par défaut
    Salut
    Je ne sais pas si un checkbox à valeur multiples est passé vide ou pas du tout si rien n'est sélectionné. si il est passé vide, on peut utiliser count($_POST['Verif']) pour vérifier le nombre d'éléments, sinon isset($_POST['Verif']). A tester.
    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (!isset($_POST['tous']) && !isset($_POST['Verif']))
    { ... rien sélectionné }
    else if (isset($_POST['tous']))
    { ... TOUS sélectionné }
    else
    { ... on boucle sur $_POST['Verif'] avec foreach }

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    sa ne fonctionne pas

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 132
    Points
    132
    Par défaut
    c'est-à-dire ?
    tu devrais faire un foreach sur $_POST pour lister tous les champs passés par le formulaire ...

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    ben sur la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_POST['tous'])) && (!isset($_POST['Verif']))
    je recoi l'erreur
    Parse error: syntax error, unexpected T_BOOLEAN_AND in C:\wamp\www\Referencement\Accueil.php
    peut-etre parcque c'est des checkbox

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    tu as une parenthèse en trop après le premier isset qui ferme ton if

  9. #9
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    maintenant c'est
    Parse error: syntax error, unexpected '{' in C:\wamp\www\Referencement\Accueil.php on line 235
    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
    <?php     //voici le code qui me permet de verifier si l'url existe(trouver sur php.net)
    if (isset($_POST['Verification']))
    {
    if (!isset($_POST['tous']) && (!isset($_POST['Verif']))
    {  //ligne 235
    	$message="vous n'avez rien cocher!";
    }
    elseif (isset($_POST['tous']))
    {
    if (!$fp = @fopen(''.$Tab[LibelleLienSprice].'',"r")) 
    {
    echo '<span style="color:red;">'.$Tab['LibelleLienSprice'].'</span>';
    $bool='false';
    }
    else 
    {
    echo '<span style="color:green;">'.$Tab['LibelleLienSprice'].'</span>';
    $bool='true';
    }
    }
    }
    else
    {
     echo $Tab['LibelleLienPartenaire'];
    }
    ?>

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_POST['tous']) && !isset($_POST['Verif']))
    il te suffisait de reprendre la syntaxe de zvince

  11. #11
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    c vrai
    par contre comme je disai le code ne fonctionne pas comme prevu
    le message d'erreur que j'appel a coter de bon bouton(<?php echo $message;?>) n'est pas présent lorsque je ne coche aucune case,
    et la verification commence quand même(j'aimerai que si il n'y a rien de cocher un message s'affiche et que la verification ne s'effectue pas)

  12. #12
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST))
       {
       if(array_key_exists("tous",$_POST)) // J'ai pas testé
           {
           echo "Aucune case n'est cochée";
           }
       }

  13. #13
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    if (array_key_exists("tous",$_POST) && array_key_exists("Verif",$_POST))
    ne fonctionne pas n'ont plus

  14. #14
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['Tous']) && $_POST['Tous']=="tous")
       {
        echo "Tous checked";
       }
    je crois que les checkbox renvoie true à isset lors d'un POST mais renvoie une value vide, pas sûr.

  15. #15
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    sa ne fonctionne toujour pas je vais chercher des tuto sur les checkbox

  16. #16
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    if(!empty($_POST['Tous'])) echo "Cochée";

    Si ca ne marche pas tu as du faire une autre erreur.

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 132
    Points
    132
    Par défaut
    Si ça ne marche pas (mais sans erreur php) c'est que le checkbox multiple est passé (mais vide), donc au lieu de !isset($_POST['Verif']) il faudrait tester avec count($_POST['Verif']) === 0
    C'est pour ça que je disais de faire un foreach sur $_POST pour savoir ce qu'on a réellement comme champs ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    foreach($_POST as $key => $val) 
    {
    	if (!is_array($val)) echo $key." : ".$val."<br><br>\n";
    	else
    	{
    		echo $key." :<br>\n";
    		foreach($val as $key1 => $val1) 
    		{
    			echo $key1." : ".$val1."<br>\n";
    		}
    	}
    }
    Edit : je viens de tester, si rien n'est sélectionné, le champ n'est pas passé ...

  18. #18
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    bonsoir,
    regarde ce lien :
    http://www.developpez.net/forums/sho...d.php?t=493386
    avec quelques modifs au niveau de la requete, je suis sûr que ca marchera.

  19. #19
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    salut tout le monde déjà merci de vos réponses, j'ai réussi à faire ce que je voulais mais un nouveau problème lié au code et survenu alors j'arrive maintenant à faire une sélection sur 1 ligne mais je n'arrive pas à sélectionner plusieurs ou toutes les lignes lorsque j'essaie l'affichage bug totalement les lignes de la colonne se multiplient enfin ça ne fonctionne pas
    voici le code
    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
    30
    31
    <?php     
    if (isset($_POST['Verification'])) //mon bouton verification
    {
    $verif = $_POST['Verif'];  //mes check box
    	for($i=0;$i<sizeof($verif);$i++) 
    	{
    	 if ($verif[$i]==$Tab['NumLien'])
    	 {
    	  $Test = $Tab['LibelleLienSprice'];
    if (!$fp = @fopen(''.$Test.'',"r"))   //l
    {
    echo '<span style="color:red;">'.$Test.'</span>';
    $bool='false';
    }
    else 
    {
    echo '<span style="color:green;">'.$Test.'</span>';
    $bool='true';
    }
    	 }
    	 else
    {
     echo $Tab['LibelleLienSprice'];
    }
    	 }
    }
    else
    {
     echo $Tab['LibelleLienSprice'];
    }
    ?>

  20. #20
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    Merci a tous pour votre aider j'ai finalement reussie voici la solution que j'ai adopté
    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
    <?php     
    if (isset($_POST['Verification']) && $_POST['Verif']!= "")
    {
    if (in_array($Tab['NumLien'], $_POST['Verif']))
    	 {
    	  $Test = $Tab['LibelleLienSprice'];
    if (!$fp = @fopen(''.$Test.'',"r"))   //l
    {
    echo '<span style="color:red;">'.$Test.'</span>';
    $bool='false';
    }
    else 
    {
    echo '<span style="color:green;">'.$Test.'</span>';
    $bool='true';
    }
    	 }  
    	 else
    	 {
    	echo $Tab['LibelleLienSprice'];	
    	}	 
    }
    else
    {
     echo $Tab['LibelleLienSprice'];
     $message="Vous devez cocher une case!";
    }
    ?>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/12/2014, 23h03
  2. Controle active x case à cocher dans un tableau word
    Par legregos38 dans le forum VBA Word
    Réponses: 10
    Dernier message: 11/07/2014, 01h47
  3. case à cocher dans une case d'un tableau
    Par Msysteme dans le forum C#
    Réponses: 1
    Dernier message: 08/10/2011, 21h33
  4. Cases à cocher dans tableau dynamique
    Par hartecel dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2008, 23h08
  5. Case à cocher dans tableau extensible
    Par dcarroz dans le forum InfoPath
    Réponses: 2
    Dernier message: 09/07/2008, 13h15

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