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 :

Variable non prise en compte dans un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Points : 122
    Points
    122
    Par défaut Variable non prise en compte dans un formulaire
    Bonjour

    j'ai une probleme sur une variable postée dans une formulaire
    quand je modifie une liste déroulante autre que la derniere liste déroulante afficher en fonction des resultats retournés par ma requete , Quand je clique sur le bouton submit , ça ne prend pas en compte la valeur de la variable que je choisi à modifier

    voici le code (j'ai un peu modifier le code c'est à dire il n'y a pas de soucis syntaxiquement, le code marche)

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <?
    if ($btn!="")
    {
        $max=count($tableau);
            if ($max>0)
            {    for ($i=0; $i<$max; $i++)
                {    $req="update table1 set ";
                    $req.="op=".$option." ";
                    $req.="where id=".$tableau[$i];
                    print $req;
                    if (!$res=mysql_query($req)) {print $req."<br>".mysql_error();}
                }
            }
     
    }
    ?>
    <html>
    <head>
        <title></title>
     
    </head>
     
    <body bgcolor="#FFFFFF" cellpadding="0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <a name="PAGEhaut"></a>
    <br>
    <form method="post" action="candILLI.php" name="FORM" style="display:inline;margin:0">
     
    <table width="600" border="0" cellspacing="0" cellpadding="2" class="xxARIALx09">
        <tr>
            <td align="right" valign="top" height="30"></td>
     
            <td valign="top" height="30"></td>
        </tr>
     
    <?    
     
        $req="select id, nom, prenom, adresse from table where id=12 ";
        if ($res=mysql_query($req))
        {    if (mysql_num_rows($res)>0)
            {        ?>
                <tr ><td colspan="2"></td></tr>
                <tr>
                    <td></td>
                    <td valign="top">
                        <table width="530" border="0" cellspacing="0" cellpadding="2" >
    <?        
            while ($row=mysql_fetch_array($res))
                    {    
                        $id=$row['id'];
                        $nom=$row["nom"];
                        $prenom=$row["prenom"];
                        $adresse=$row["adresse"];
     
                                ?>
                            <tr >
                            <td>
                            <input type="checkbox" name="tableau[]" value="<? print $id; ?>" <? print $coche; ?>><? print $nom; ?><? print $prenom; ?><? print $adresse; ?></td>
                            <td valign="top"> 
                        ok
                        <select name="option"  style="width:50">
                                <?    for ($x=0;$x<2;$x++)    {    if ($x==$option) {$coche="selected";} else {$coche="";}    ?>
                                                <option value="<? print $x; ?>" <? print $coche; ?>>oui/non</option>
                                <?    }    ?>
                        </select>
            </td>
                            </tr>
    <?        }        ?>
                            <tr>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
    <?    }
        ?>
    <tr><td align="right" valign="top" colspan="2">
    <input type="submit" name="btn" class="<? print $fltPAYS; ?>BOUTON" value="Valider"></td></tr>
        <tr><td align="right" valign="top" colspan="2" height="20"></td></tr>
    </table>
    </form>
    <br>
    </body>
    </html>
    Mon probleme se trouve au niveau du formulaire name=option
    la requete retourne et affiche des résultats en base et quand je voudrais modifier un champ dans ce formulaire autre que la dernière donnée qui s'affiche, la variable postée n'est pas prise en compte.
    C'est à dire que si j'ai non dans une liste que je veux modifier et que je veux modifier à oui la variable posté est à non

    alors que si je modifie la derniere variable , il n'y pas de soucis

    merci

  2. #2
    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
    Ton formulaire me renvoit bien 0 ou 1 selon ce que j'ai choisi ; par contre est normal que les deux options aient le meme libellé ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Points : 122
    Points
    122
    Par défaut
    Bonjour


    j'ai cherché cherché je pense que je suis presque .... j'ai enfin trouvé mon probleme

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <?
    if ($btn!="")
    {
        $max=count($tableau);
            if ($max>0)
            {    for ($i=0; $i<$max; $i++)
                {   
        foreach($_POST['option'] as $var => $var1)
                {
                    $req="update table1 set ";
                    $req.="op=".$option." ";
                    $req.="where id=".$tableau[$i];
                    print $req;
                    if (!$res=mysql_query($req)) {print $req."<br>".mysql_error();}
                }
            }
     
    }
    ?>
    <html>
    <head>
        <title></title>
     
    </head>
     
    <body bgcolor="#FFFFFF" cellpadding="0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <a name="PAGEhaut"></a>
    <br>
    <form method="post" action="candILLI.php" name="FORM" style="display:inline;margin:0">
     
    <table width="600" border="0" cellspacing="0" cellpadding="2" class="xxARIALx09">
        <tr>
            <td align="right" valign="top" height="30"></td>
     
            <td valign="top" height="30"></td>
        </tr>
     
    <?    
     
        $req="select id, nom, prenom, adresse from table where id=12 ";
        if ($res=mysql_query($req))
        {    if (mysql_num_rows($res)>0)
            {        ?>
                <tr ><td colspan="2"></td></tr>
                <tr>
                    <td></td>
                    <td valign="top">
                        <table width="530" border="0" cellspacing="0" cellpadding="2" >
    <?        
            while ($row=mysql_fetch_array($res))
                    {    
                        $id=$row['id'];
                        $nom=$row["nom"];
                        $prenom=$row["prenom"];
                        $adresse=$row["adresse"];
     
                                ?>
                            <tr >
                            <td>
                            <input type="checkbox" name="tableau[]" value="<? print $id; ?>" <? print $coche; ?>><? print $nom; ?><? print $prenom; ?><? print $adresse; ?></td>
                            <td valign="top"> 
                        ok
                        <select name="option[]"  style="width:50">
                                <?    for ($x=0;$x<2;$x++)    {    if ($x==$option) {$coche="selected";} else {$coche="";}    ?>
                                                <option value="<? print $x; ?>" <? print $coche; ?>>oui/non</option>
                                <?    }    ?>
                        </select>
            </td>
                            </tr>
    <?        }        ?>
                            <tr>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
    <?    }
        ?>
    <tr><td align="right" valign="top" colspan="2">
    <input type="submit" name="btn" class="<? print $fltPAYS; ?>BOUTON" value="Valider"></td></tr>
        <tr><td align="right" valign="top" colspan="2" height="20"></td></tr>
    </table>
    </form>
    <br>
    </body>
    </html>
    mon soucis c'est que en fonction du nombre de resultats retourné par ma requete s'affichera le nombre de liste déroulante
    ex :
    voiture ==> liste déroulante [oui/non]
    table ==> liste déroulante [oui/non]
    maison==> liste déroulante [oui/non]

    Si je veux modifier par exemple voiture à oui et que le autres je ne les touches pas par exemple les 2 autres sont à non
    la requete s'execute 3 fois et voiture sera toujouras à non
    evidement parceque ma requete se trouve dans une boucle

    Comment pourrai-je eviter que ma requete sera executé 3 fois

    merci

Discussions similaires

  1. [IP-2010] Données externes non prises en compte dans le formulaire
    Par ateppaz dans le forum InfoPath
    Réponses: 4
    Dernier message: 13/01/2014, 09h20
  2. Variable non prise en compte dans l'url
    Par duffman39 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 20/10/2011, 16h33
  3. feuille de style non prise en compte dans un module
    Par Phenomenium dans le forum Zend Framework
    Réponses: 14
    Dernier message: 17/07/2008, 12h17
  4. Réponses: 1
    Dernier message: 08/08/2007, 11h26
  5. [MySQL] Variable pas prise en compte dans la requête
    Par Zenerox dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/04/2007, 21h54

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