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

PHP & Base de données Discussion :

Stockage dans une variable apres la selection


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 219
    Par défaut Stockage dans une variable apres la selection
    bonjour
    j'ai un souci de stockage des données après leurs sélection

    le formulaire de saisie
    après la sélection, dans une liste déroulante après je stocke l’élément sélectionné dans une variable qui doit être réutilisé alors il m'affiche le message "undefined index code_region"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $code_region=$_POST["code_region"];
    cette variable doit être utilisé dans une 2ème liste déroulante sélection
    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
    <html>
     
    <head>
    <meta http-equiv="Content-Language" content="fr">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Création d'un Cercle</title>
     
    </head>
     
    <body>
     
    <p>&nbsp;</p>
    <p align="center"><u><font size="5" color="#0000FF" face="Arial">Création d'une Commune
    </font></u></p>
     
     
    <div align="center">
    <?php
    include("../connexion.inc.php");
    $result1 = mysql_query("select code_region,nom_region from `region` order by code_region");
    ?>
    <form name="frm" method="POST" action="../commune/creacommune.php" onSubmit="return verif()">
       <table border="0" width="49%" id="table1" cellspacing="1">
          <tr>
             <td align="left" width="89%" valign="top">
           <font face="Arial" size="2">Code de la commune </font></td>
             <td align="left" valign="top" width="53%">&nbsp;</td>
          </tr>
          <tr>
             <td align="left" width="89%" valign="top"><font face="Arial" size="2">Code de la Region : </font></td>
             <td align="left" valign="top" width="53%"><select name="code_region" size="1" >
               <option value="" selected>&nbsp;
                 <?php while($code_re = mysql_fetch_array($result1)){?>
                <option value='<?php echo $code_re['code_region'].">".$code_re['nom_region'] ?>' />         
               <?php  echo $code_re['code_region'].">".$code_re['nom_region']  ;  
     
    		   } 
     
              	  ?>
            </select></td>
          </tr>
       <tr>   		 
      $code_region=$_POST["code_region"];
    $result2 = mysql_query("select * from `cercle` where code_region.cercle=$code_region");
     
          <td align="left" width="89%" valign="top"><font face="Arial" size="2">Code du Cercle: </font></td>
             <td align="left" valign="top" width="53%"><select name="code_cercle" size="1" >
               <option value="" selected>&nbsp;
                <?php while($code_cercle = mysql_fetch_array($result2)){?>
                <option value='<?php echo $code_cercle['code_cercle'].">".$code_cercle['code_region'].">".$code_cercle['nom_cercle'] ?>' />         
               <?php echo $code_cercle['code_cercle'].">".$code_cercle['code_region'].">".$code_cercle['nom_cercle']  ;  } ?>
             </select></td>
          </tr>
     
          <tr>
             <td align="left" width="89%" valign="top"><font face="Arial" size="2">Nom de la commune: </font></td>
             <td align="left" valign="top" width="53%"><input type="text" name="nom_commune" size="50"></td>
          </tr>
          <tr>
             <td align="center" width="89%" valign="top" colspan="2">
                <input type="submit" value="Envoyer" name="submit" style="float: center"><input type="reset" 
     
    value="Rétablir" name="B2" style="float: center"></td>
          </tr>
          <tr>
             <td align="center" width="89%" valign="top" colspan="2">
                <p>&nbsp;
                </p></td>
          </tr>
       </table>
    </form>
    </div>
    </body>
     
    </html>

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 219
    Par défaut
    Rebonjour
    apres avoir regarder encore
    voici de la ligne 32 à la ligne 37, on selecionne un region

    à la ligne 55 on fait une autre selection en fonction du code de la region selectionné cela nous permet d'avoir dans la 2ème liste deroulante les cercles selon la région selection plus haut.


    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
    <html>
     
    <head>
    <meta http-equiv="Content-Language" content="fr">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Création d'un Cercle</title>
     
    </head>
     
    <body>
     
    <p>&nbsp;</p>
    <p align="center"><u><font size="5" color="#0000FF" face="Arial">Création d'une Commune
    </font></u></p>
     
     
    <div align="center">
    <?php
    include("../connexion.inc.php");
    $result1 = mysql_query("select code_region,nom_region from `region` order by code_region");
    //$result2 = mysql_query("select * from `cercle` ");
    ?>
    <form name="frm" method="POST" action="../commune/creacommune.php" onSubmit="return verif()">
       <table border="0" width="49%" id="table1" cellspacing="1">
         <tr>
             <td align="left" width="89%" valign="top">
          <font face="Arial" size="2">Code de la commune </font></td>
             <td align="left" valign="top" width="53%">&nbsp;</td>
          </tr>
          <tr>
            <td align="left" width="89%" valign="top"><font face="Arial" size="2">Code de la Region : </font></td>
             <td align="left" valign="top" width="53%"><select name="code_region" size="1" >
               <option value="" selected>&nbsp;
                 <?php while($code_re = mysql_fetch_array($result1)){?>
                <option value='<?php echo $code_re['code_region']."=>".$code_re['nom_region'] ?>' />         
               <?php 
    		   echo $code_re['code_region']."=>".$code_re['nom_region']  ;  
     
    		   } 
    	 //$sear=$_GET["code_region"];
    	 //echo $sear;
    	 //$code_region= mysql_query("select code_Region,from region  where nom_region='$sear'");
    	 //$code_region=$nom_region['code_region'];
     
    		   ?>
            </select></td>
          </tr>
       <tr>   		 
     
        <td align="left" width="89%" valign="top"><font face="Arial" size="2">Code du Cercle: </font></td>
             <td align="left" valign="top" width="53%"><select name="code_cercle" size="1" >
               <option value="" selected>&nbsp;
     
              <?php 
    			$result2 = mysql_query("select * from `cercle` where code_region='".$_POST['code_region']."'");
    			while($code_cercle = mysql_fetch_array($result2)){?>
               <option value='<?php echo $code_cercle['code_cercle']."=>".$code_cercle['nom_cercle'] ?>' />         
              <?php echo $code_cercle['code_cercle']."=>".$code_cercle['nom_cercle']  ;  } ?>
            </select></td>
         </tr>
     
         <tr>
            <td align="left" width="89%" valign="top"><font face="Arial" size="2">Nom de la commune: </font></td>
             <td align="left" valign="top" width="53%"><input type="text" name="nom_commune" size="50"></td>
          </tr>
         <tr>
            <td align="center" width="89%" valign="top" colspan="2">
                <input type="submit" value="Envoyer" name="submit" style="float: center"><input type="reset" 
     
    value="Rétablir" name="B2" style="float: center"></td>
          </tr>
          <tr>
            <td align="center" width="89%" valign="top" colspan="2">
                <p>&nbsp;
               </p></td>
         </tr>
       </table>
    </form>
    </div>
    </body>
     
    </html>

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Il y a à mon avis une erreur de syntaxe coté HTML.

    Une balise OPTION (d'un select) devrait être codée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="la_valeur">Le texte</option>

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 219
    Par défaut
    ok, j'ai testé comme vous avez dit,
    j'ai modifier la ligne 28,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="" selected>&nbsp => <option value="la_valeur" selected>&nbsp
    j'ai toujours la réponse undefined index code_region à la ligne 55.

  5. #5
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonjour,

    L'erreur t'indique que ta variable n'a pas été initialisée

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 219
    Par défaut
    rebonjour
    j'ai regardé les explications, mais il me semble que le problème est peut être différent, car, j'arrive à récupérer, la valeur lors d'insertion dans ta table et la table est bien alimenter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $code_region=$_POST["code_region"]
    mais cela marche seulement quand je le mets dans un fichier séparée
    mais si je met cette ligne dans le code pour faire ma liste déroulante alors il affiche un message d'erreur.

    j'ai deux liste déroulante dont l'une dépend de l'autre .
    Merci

  7. #7
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Ce n'est pas suffisant à mon sens.

    Essai comme ça (pour les 2 SELECT) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <td align="left" valign="top" width="53%">
        <select name="code_region" size="1">
    <?php
    while($code_re = mysql_fetch_array($result1)) {
        echo '<option value="'.$code_re['code_region'].'">'.$code_re['nom_region'].'</option>';
    }
    ?>
        </select>
    </td>
    Je ne sais pas trop ce que tu voulait faire avec le selected, mais par défaut, ce sera le 1er élément parmi la liste qui sera sélectionnée.
    Il te faudra très certainement modifier ce code (de base) pour permettre de sélectionner un code_region par défaut.

    Concernant l'erreur, code_region, suit les explications du lien qu'on t'as fourni.
    Mais il va te falloir revoir un peu le déroulement de ton code, car ton 2ème menu déroulant est totalement dépendant du 1er à priori.

    Il te faut initialiser un code_region par défaut, car théoriquement, lorsqu'on affiche cette page la toute 1ère fois, le code_region est inexistant.

    Il faudra aussi vérifier l'existence du code_region lorsqu'un choix sera fait ($_POST).
    Si tel est le cas, alors cette donnée sera le code_region par défaut.

    - Le selected (du 1er select) devra alors être selon le code_region pas défaut
    - La seconde requête devra se faire selon ce même code_region par défaut.

    Vois tu mieux le problème ?
    En espérant avoir bien saisi aussi.

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 219
    Par défaut
    Rebonjour
    j'ai repris le code et il se présente comme tel.
    avec cette architecture, il marche,
    mais je suis sure que il a besoin d'une modélisation si petite que cela soit.
    j'ai mis cote à cote 2 formulaires
    dans le premier formulaire, lorsque on sélectionne un élément de la liste déroulante, il faut cliquer sur le bouton ok pour que le valeur soit transmise à la variable qui est est ensuite utilisé pour faire la recherche dans la table cercle, avec where sur le code de la région qui est égal à la valeur de la variable de comparaison.
    et on arrive à avoir la deuxième liste déroulante qui fonctionne.
    ce code peut être lourd, alors si on peut le perfectionné cela m'aider bcp
    j'ai regardé aussi le code de l'insertion dans la table, cela fonction
    comment améliorer cette présentation ou cet architecture du code.
    Merci

    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
    <html>
     
    <head>
    <meta http-equiv="Content-Language" content="fr">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Création d'un Cercle</title>
    </head>
     
    <body>
     
    <p>&nbsp;</p>
    <p align="center"><u><font size="5" color="#0000FF" face="Arial">Création d'une Commune
    </font></u></p>
     
     
    <div align="center">
    <?php
    include("../connexion.inc.php");
     
    $result1 = mysql_query("select code_region,nom_region from `region` order by code_region");
    //$result2 = mysql_query("select * from `cercle` ");
    ?>
    <form name="frm" method="POST" action="" onSubmit="return verif()">
       <table border="0" width="49%" id="table1" cellspacing="1">
          <tr>
             <td align="left" width="40%" valign="top">
           <font face="Arial" size="2"><strong>Code de la commune </strong></font></td>
             <td align="left" valign="top" width="60%">&nbsp;</td>
          </tr>
          <tr>
             <td align="left" width="40%" valign="top"><font face="Arial" size="2">Code de la Region : </font></td>
             <td align="left" valign="top" width="60%"><select name="code_region" size="1">
               <?php
    while($code_re = mysql_fetch_array($result1)) {
        echo '<option value="'.$code_re['code_region'].'">'.$code_re['nom_region'].'</option>';
    }
    ?>
             </select>
               <input type="submit" value="OK" name="submit" style="float: center">         </tr>
       </table>
    </form>
    <form name="frm" method="POST" action="../commune/creacommune.php" onSubmit="return verif()">
     <table width="49%" border="0" cellspacing="1">
     <tr>
     <?php
    if (isset($_POST['submit'])) {
        $code_region=$_POST['code_region'];
    //    echo $code_region;
    } ?>
     </tr>
       <tr>
         <td width="40%">Code du Cercle</td>
         <td width="60%"><select name="code_cercle" size="1" >
           <?php 
           $result2 = mysql_query("select code_cercle,nom_cercle from `cercle` where cercle.code_region='$code_region'");
                while($code_cercle = mysql_fetch_array($result2)){
                echo '<option value = "' .$code_cercle['code_cercle'].'"=>'.$code_cercle['nom_cercle'].'</option>';
                }
                ?>
         </select></td>
       </tr>
       <tr>
         <td>Nom de la commune</td>
         <td><input type="text" name="nom_commune" size="30"></td>
       </tr>
       <tr>
         <td>&nbsp;</td>
         <td>&nbsp;</td>
       </tr>
       <tr>
         <td align="center" valign="top" colspan="2"><input type="submit" value="Envoyer" name="submit2" style="float: center">
           <input type="reset" 
     
    value="R&eacute;tablir" name="B" style="float: center"></td>
       </tr>
     </table>
     </form>
     <p>&nbsp;</p>
    </div>
     
    </body>
     
    </html>

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/10/2011, 18h45
  2. Stockage dans une variable temporaire
    Par Audpidou911 dans le forum MATLAB
    Réponses: 6
    Dernier message: 19/01/2011, 12h11
  3. stockage dans une variable
    Par pseudobidon57 dans le forum Linux
    Réponses: 2
    Dernier message: 31/08/2007, 11h56
  4. Réponses: 8
    Dernier message: 01/04/2006, 15h22
  5. Réponses: 13
    Dernier message: 16/01/2006, 15h48

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