Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2010, 11h43   #1
Invité régulier
 
Inscription : août 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 20
Points : 6
Points : 6
Par défaut recuperer les valeurs de deux listes sur la meme page

bonjour tout le monde...
je veux afficher une deuxième liste "text10" à partir de la valeur récupérée de la 1ere liste appelé "text9".
Le problème se pose lors de la récupération de la 2eme valeur..c a d: quand je sélectionne une valeur "ouvrage" de la 1ere liste la 2eme liste me donne les valeurs des "sous ouvrage" de l'ouvrage sélectionné et c'est bien mais quand je termine la saisie et que j’envoie le formulaire pour enregistrer dans une table sur une autre page je remarque que la valeur récupérée de la liste2 est l'ancienne valeur sélectionnée et pas la dernière sélection...

voici mon code de la page saisie ou je dois faire les deux sélections:
Code :
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
 
 <form name="form2" method="post" action="saisie.php?codeagence=<?php echo($codeagence)?>&amp;text10=<?php echo($text10)?>&amp;text9=<?php echo($text9)?>">
<div id="layer" style="position:absolute; overflow:hidden; left:771px; top:614px; width:528px; height:53px; z-index:47">
    <select name="text9"  onchange=" form2.submit();">
	<option value=-1>-- Choisissez -- </option>
      <?php
  $con = odbc_connect('PlanCharge','sa','');
  if (!$con) {
    print("There is a problem with SQL Server connection.\n");
  }
  $sql="select Code_ouvr2 from CtypeOuvrage2";
  $res=odbc_exec($con, $sql) or die($sql."<br />".odbc_error());
while($total = odbc_fetch_array($res))
 
  { 
 
echo "<option value=\"".$total["Code_ouvr2"]."\"";
if($text9==$total['Code_ouvr2']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage 
echo ">".$total['Code_ouvr2']."</option>\n";
}
 
 
 
  ?>
    </select>
</div>
 
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
 
<div id="layer" style="position:absolute; overflow:hidden; left:771px; top:655px; width:528px; height:53px; z-index:47">
  <select name="text10">
 
      <?php
if($text9 != -1){ 
  $sql="select * from CtyepSousOuvrage where code_ouvrage2 ='".$text9."'";
  $res=odbc_exec($con, $sql) or die($sql."<br />".odbc_error());
 while( $total = odbc_fetch_array($res))
 {echo "<option value=\"".$total["Code_sousouvr"]."\"";
 if($text10==$total['Code_sousouvr']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage 
 echo ">".$total['Code_sousouvr']."</option>\n";
 }
 
}
 
 ODBC_close($con);
  ?>
  </select>
  </div>
 </form>
merci pour toute suggestion ou idée.
manel ingenieur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 11h02   #2
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 455
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 455
Points : 639
Points : 639
Quelle est la valeur de $text10 et $text9
Code :
text10=<?php echo($text10)?>&amp;text9=<?php echo($text9)?>
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 11h35   #3
Invité régulier
 
Inscription : août 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 20
Points : 6
Points : 6
Merci bien pour ton attention

les valeurs $text9 est la sélection de la première liste et $text10 est la sélection a partir du deuxième liste.

je pense que j'ai trouvé quelque chose d’intéressant mais le problème et que g jamais travailler avec AJAX...c'est le meilleur pour ce cas apparemment..

merci encore une fois
manel ingenieur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 11h36   #4
Invité régulier
 
Inscription : août 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 20
Points : 6
Points : 6
voici un bout de code que j'ai trouvé sur un autre forum :

Code :
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
<?php
 
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
 
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
 
$serveur = "localhost";
 
$admin   = "root";
 
$mdp     = "";
 
$base    = "regions";
 
/* On récupère si elle existe la valeur de la région envoyée par le formulaire */
 
$idr = isset($_POST['region'])?$_POST['region']:null;
 
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
 
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
 
<title>Sélectionner un département selon la région choisie</title>
 
<meta name="description" content="Listes déroulantes dynamiques inter-dépendantes" />
 
<meta name="keywords" content="" />
 
<meta name="author" content="Cyrano" />
 
<meta name="generator" content="Zend Studio Environnement et WebExpert 5" />
 
<meta http-equiv="imagetoolbar" content="no" />
 
<meta http-equiv="Pragma" content="no-cache" />
 
</head>
 
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
 
<?php
 
if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "")
 
{
 
    $region_selectionnee = $_POST['region'];
 
    $dept_selectionne = $_POST['departement'];
 
?>
 
<p>Vous avez sélectionné le département <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p>
 
<?php
 
}
 
?>
 
<h3>Trouver un département</h3>
 
<?php
 
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()
 
*  car on aura besoin de la connexion un peu plus loin dans le script */
 
$connexion = mysql_pconnect($serveur, $admin, $mdp);
 
if($connexion != false)
 
{
 
    $choixbase = mysql_select_db($base, $connexion);
 
    $sql1 = "SELECT `id_region`, `region`".
 
    " FROM `region`".
 
    " ORDER BY `id_region`";
 
    $rech_regions = mysql_query($sql1);
 
    $code_region = array();
 
    $region = array();
 
    /* On active un compteur pour les régions */
 
    $nb_regions = 0;
 
    if($rech_regions != false)
 
    {
 
        while($ligne = mysql_fetch_assoc($rech_regions))
 
        {
 
            array_push($code_region, $ligne['id_region']);
 
            array_push($region, $ligne['region']);
 
 
 
            /* On incrémente de compteur */
 
            $nb_regions++;
 
        }
 
    }
 
    ?>
 
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
 
<fieldset style="border: 3px double #333399">
 
<legend>Sélectionnez une région</legend>
 
<select name="region" id="region" onchange="document.forms['chgdept'].submit();">
 
  <option value="-1">- - - Choisissez une région - - -</option>
 
    <?php
 
    for($i = 0; $i < $nb_regions; $i++)
 
    {
 
?>
 
  <option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
 
<?php
 
    }
 
    ?>
 
</select>
 
    <?php
 
    mysql_free_result($rech_regions);
 
    /* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */
 
 
 
    if(isset($idr) && $idr != -1)
 
    {
 
        /* Cération de la requête pour avoir les départements de cette région */
 
        $sql2 = "SELECT `id_departement`, `departement`".
 
        " FROM `departement`".
 
        " WHERE `id_region` = ". $idr ."".
 
        " ORDER BY `id_departement`;";
 
        if($connexion != false)
 
        {
 
            $rech_dept = mysql_query($sql2, $connexion);
 
            /* Un petit compteur pour les départements */
 
            $nd = 0;
 
            /* On crée deux tableaux pour les numéros et les noms des départements */
 
            $code_dept = array();
 
            $nom_dept = array();
 
            /* On va mettre les numéros et noms des départements dans les deux tableaux */
 
            while($ligne_dept = mysql_fetch_assoc($rech_dept))
 
            {
 
                array_push($code_dept, $ligne_dept['id_departement']);
 
                array_push($nom_dept, $ligne_dept['departement']);
 
                $nd++;
 
            }
 
            /* Maintenant on peut construire la liste déroulante */
 
            ?>
 
<select name="departement" id="departement">
 
            <?php  
 
            for($d = 0; $d<$nd; $d++)
 
            {
 
                ?>
 
  <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>
 
                <?php
 
            }
 
?>
 
</select>
 
<?php
 
        }
 
        /* Un petit coup de balai */
 
        mysql_free_result($rech_dept);
 
    }
 
?>
 
<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
 
</fieldset>
 
</form>
 
<?php
 
    /* Terminé, on ferme la connexion */
 
    mysql_close($connexion);
 
}
 
else
 
{
 
    /* Si on arrive là, c'est pas bon signe, il faut vérifier les
 
    * paramètres de connexion, mot de passe, serveur pas démarré etc... */
 
?>
 
<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
 
<?php
 
}
 
?>
 
</body>
 
</html>

qu'est-ce que vous en dites?
manel ingenieur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 11h48   #5
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 455
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 455
Points : 639
Points : 639
essai avec ça
Code :
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
 
<form name="form2" method="get" action="saisie.php?codeagence=<?php echo($codeagence)?>&amp;">
<div id="layer" style="position:absolute; overflow:hidden; left:771px; top:614px; width:528px; height:53px; z-index:47">
    <select name="text9"  onchange=" form2.submit();">
	<option value=-1>-- Choisissez -- </option>
      <?php
  $con = odbc_connect('PlanCharge','sa','');
  if (!$con) {
    print("There is a problem with SQL Server connection.\n");
  }
  $sql="select Code_ouvr2 from CtypeOuvrage2";
  $res=odbc_exec($con, $sql) or die($sql."<br />".odbc_error());
while($total = odbc_fetch_array($res))
 
  { 
 
echo "<option value=\"".$total["Code_ouvr2"]."\"";
if($text9==$total['Code_ouvr2']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage 
echo ">".$total['Code_ouvr2']."</option>\n";
}
 
 
 
  ?>
    </select>
</div>
 
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
 
<div id="layer" style="position:absolute; overflow:hidden; left:771px; top:655px; width:528px; height:53px; z-index:47">
  <select name="text10">
 
      <?php
if($text9 != -1){ 
  $sql="select * from CtyepSousOuvrage where code_ouvrage2 ='".$text9."'";
  $res=odbc_exec($con, $sql) or die($sql."<br />".odbc_error());
 while( $total = odbc_fetch_array($res))
 {echo "<option value=\"".$total["Code_sousouvr"]."\"";
 if($text10==$total['Code_sousouvr']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage 
 echo ">".$total['Code_sousouvr']."</option>\n";
 }
 
}
 
 ODBC_close($con);
  ?>
  </select>
  </div>
 </form>
avec la methode get dans le formulaire t'aura un lien comme
Citation:
saisie.php?codeagence=valeur&text10='valeur sélectioner'&text9='valeur sélectioner'
et tu va recuper tes valeur avec $_GET['text10'] $_GET['text9']
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h40.


 
 
 
 
Partenaires

Hébergement Web