M a j une liste déroulante suivant la liste précedente

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : M a j une liste déroulante suivant la liste précedente

par Maxou » 13 mars 2006, 18:03

C'est bon j'ai enfin trouvé il manquait un a a magasin (j'avais ecrit magsin)

par Maxou » 13 mars 2006, 17:50

Coucou me revoila :?

Oh Non dirons certain :evil: .

Voila la page que j'ai fait avec vous marche très bien mais en faisant une seconde page du meme type il y a u select qui ne veut pas marcher et je ne vois vraiment pas d'ou sa vient.

Après avoir fait plusieur test de syntaxe et autre je ne voit pas .


C'est ma requete3 qui ne marche pas ?
meme si je la sort de la boucle et que le la met en classique sans variable et autre.
Voici mon bout de code:
<?php 
$num_enseigne = isset($_GET["enseigne"])?$_GET['enseigne']:null ;
// je recupère la valeur selectionné dans la liste déroulante. Si c'est le première affiche je dit que la varable est null

if ($num_enseigne == '' ) {$requete2 = "SELECT id_contact, nom_contact FROM contact"; 
							$requete3 = "SELECT id_magasin, nom_magasin FROM magasin";} 
else { $requete2 = "SELECT id_contact,nom_contact FROM contact WHERE num_enseigne=$num_enseigne";
		$requete3 = "SELECT id_magsin,nom_magasin FROM magasin WHERE num_enseigne=$num_enseigne";}
	   
// Ma requete2 et requete3 varient suivant le resultat de la première liste déroulante. AU premier affichage je récupère tout et une fois que l'enseigne est choisi je recupère que les contacts et magasins qui correspondent.

$requete = "SELECT id_enseigne,nom_enseigne FROM enseigne ";


	require("connect.php");
	$resultat=mysql_query($requete)
	or die ('erreur de chargement enseignes');
	$resultat2=mysql_query($requete2)
	or die (' Erreur de chargement contact');
	$resultat3=mysql_query($requete3)
	or die ('Erreur de chargement magasin');

?>
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>reporting</title>
</head>

<body>

<form method="POST" action="renvoie_reporting.php">
	<table border="0" width="600" id="table1" cellspacing="0" cellpadding="0">
		<tr>
			<td width="600" align="right" colspan="4" height="20">
			<p align="center"></td>
		</tr>
		<tr>
			<td width="610" align="right" colspan="4">
			<p align="center"><font size="4" color="#FF0000">Reporting</font></td>
		</tr>
		<tr>
			<td width="600" align="right" colspan="4" height="20">
			<p align="center"></td>
		</tr>
		<tr>
			<td width="100" align="right">Date :</td>
			<td width="240" align="left"><select size="1" name="jour_ajout">
			  <option value="">jour</option>	
			  <option value="1">1</option>
			  <option value="2">2</option>
			  <option value="3">3</option>
			  <option value="4">4</option>
			  <option value="5">5</option>
			  <option value="6">6</option>
			  <option value="7">7</option>
			  <option value="8">8</option>
			  <option value="9">9</option>
			  <option value="10">10</option>
			  <option value="11">11</option>
			  <option value="12">12</option>
			  <option value="13">13</option>
			  <option value="14">14</option>
			  <option value="15">15</option>
			  <option value="16">16</option>
			  <option value="17">17</option>
			  <option value="18">18</option>
			  <option value="19">19</option>
			  <option value="20">20</option>
			  <option value="21">21</option>
			  <option value="22">22</option>
			  <option value="23">23</option>
			  <option value="24">24</option>
			  <option value="25">25</option>
			  <option value="26">26</option>
			  <option value="27">27</option>
			  <option value="28">28</option>
			  <option value="29">29</option>
			  <option value="30">30</option>
			  <option value="31">31</option>
			</select>
			<select size="1" name="mois_ajout">
			  <option value="">Mois</option>
			  <option value="Janvier">Janvier</option>
			  <option value="Février">F&eacute;vrier</option>
			  <option value="Mars">Mars</option>
			  <option value="Avril">Avril</option>
			  <option value="Mai">Mai</option>
			  <option value="Juin">Juin</option>
			  <option value="Juillet">Juillet</option>
			  <option value="Aout">Aout</option>
			  <option value="Septembre">Septembre</option>
			  <option value="Octobre">Octobre</option>
			  <option value="Novembre">Novembre</option>
			  <option value="Décembre">D&eacute;cembre</option>
			</select> <select size="1" name="an_ajout">
			  <option>Année</option>
			  <option>2005</option>
			  <option>2006</option>
			  <option>2007</option>
			</select></td>
			<td width="60" align="right">Enseigne :</td>
		  <td width="210">
		 		 						
						<SELECT name="id_enseigne" onChange="top.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?enseigne='+this.options[selectedIndex].value">  <?php // cette solution redirige automatiquement sur la meme page.?>
						<option value=""></option>
					<?php while($enreg= mysql_fetch_assoc($resultat)) {
					//Ici j'intègre dans ma boucle un if qui me permet d'afficher la valeur déja selectionnée si il en a une.
						if ($num_enseigne == $enreg['id_enseigne']) { 
  						 echo '<option selected value ="'; 
   						echo  $enreg['id_enseigne']; 
   						echo '">'; 
   						echo $enreg['nom_enseigne']; 
   						echo "</option>"; 
						} else { 
  						echo '<option value="'; 
  						echo $enreg['id_enseigne']; 
 						echo '">'; 
 					 	echo $enreg['nom_enseigne']; 
  						echo "</option>"; 
						} 
					  } ?>					 
					</select>
		  </td>
		</tr>
		<tr>
			<td width="91" align="right">Contact :</td>
		  <td width="240" align="left">
		 			<select name="contact"> 
					<option value=""></option>
					<?php while($enreg2= mysql_fetch_assoc($resultat2)) { ?>
					  <option value="<?php echo $enreg2['id_contact']; ?>"><?php echo $enreg2['nom_contact']; ?></option>
					 <?php } ?></select>
		  </td>
			<td width="60" align="right">Magasin :</td>
		  <td>
		  <select name="magasin"> 
					<option value=""></option>
					<?php while($enreg3= mysql_fetch_assoc($resultat3)) { ?>
					  <option value="<?php echo $enreg3['id_magasin']; ?>"><?php echo $enreg3['nom_magasin']; ?></option>
					 <?php } ?></select>
		  
		  </td>
		</tr>
		<tr>
			<td width="91" align="right">Objet visite :</td>
		  <td align="left" colspan="3">
			<input type="text" name="objet" size="29">
			<textarea rows="4" name="appreciation" cols="71"><?php echo $requete3; ?>
			</textarea></td>
		</tr>
		<tr>
			<td align="right" colspan="4">
			<p align="left">Appréciation produit :</td>
		</tr>
		<tr>
			<td colspan="4" width="600">&nbsp;		  </td>
		</tr>
		<tr>
			<td colspan="4">
			<table border="0" width="600" id="table2" cellspacing="0" cellpadding="0">
				<tr>
					<td width="200">Demande:</td>
					<td width="50" align="center">
					<input type="checkbox" name="plv" value="1"></td>
					<td width="150">P L V</td>
					<td width="50" align="center">
					<input type="checkbox" name="préentoire" value="1"></td>
					<td width="150">Présentoir</td>
				</tr>
				<tr>
					<td width="200">&nbsp;</td>
					<td width="50" align="center">
					<input type="checkbox" name="ext" value="1"></td>
					<td width="150">Expo extérieur </td>
					<td width="50" align="center">
					<input type="checkbox" name="vidéo" value="1"></td>
					<td width="150">Vidéo</td>
				</tr>
				<tr>
					<td width="200">&nbsp;</td>
					<td width="50" align="center">
					<input type="checkbox" name="visite" value="1"></td>
					<td width="150">Visite en magasin</td>
					<td width="200" colspan="2">Fréquence et but des visites</td>
				</tr>
				<tr>
					<td width="200">&nbsp;</td>
					<td width="50" valign="top">
					<p align="center">
					<input type="checkbox" name="autre" value="1"></td>
					<td width="150" valign="top">
					<p align="left">&nbsp;Autre:</td>
					<td width="200" colspan="2">
					<textarea rows="3" name="autre_txt" cols="22"></textarea></td>
				</tr>
			</table>
			</td>
		</tr>
		<tr>
			<td colspan="4">
			<table border="0" width="600" id="table3" cellspacing="0" cellpadding="0">
				<tr>
					<td width="100">Commande</td>
					<td width="50">
					<p align="center">
					<input type="radio" value="0" checked name="cmd"></td>
					<td width="100">Non</td>
					<td width="50">
					<p align="center"><input type="radio" name="cmd" value="1"></td>
					<td width="100">Oui</td>
					<td width="25">
					<span style="font-size: 12.0pt; font-family: Wingdings">F</span></td>
					<td width="175"><input type="text" name="cmd1" size="23"></td>
				</tr>
				<tr>
					<td width="400" colspan="5" rowspan="2">&nbsp;</td>
					<td width="25">
					<span style="font-size: 12.0pt; font-family: Wingdings">F</span></td>
					<td width="175"><input type="text" name="cmd2" size="23"></td>
				</tr>
				<tr>
					<td width="25">
					<span style="font-size: 12.0pt; font-family: Wingdings">F</span></td>
					<td width="175"><input type="text" name="cmd3" size="23"></td>
				</tr>
			</table>
			</td>
		</tr>
		<tr>
			<td colspan="4">
			<table border="0" width="100%" id="table4" cellspacing="0" cellpadding="0">
				<tr>
					<td width="200">Suivi à réaliser:</td>
					<td width="150">
					<p align="right">Pour :</td>
					<td><select size="1" name="jour_suivi">
					<option value="">jour</option>	
			 		<option value="1">1</option>
			   		<option value="2">2</option>
			  		<option value="3">3</option>
			  		<option value="4">4</option>
			  		<option value="5">5</option>
			  		<option value="6">6</option>
			  		<option value="7">7</option>
			  		<option value="8">8</option>
			  		<option value="9">9</option>
			  		<option value="10">10</option>
			  		<option value="11">11</option>
			  		<option value="12">12</option>
			  		<option value="13">13</option>
			  		<option value="14">14</option>
			  		<option value="15">15</option>
			  		<option value="16">16</option>
			  		<option value="17">17</option>
			  		<option value="18">18</option>
			  		<option value="19">19</option>
			  		<option value="20">20</option>
			  		<option value="21">21</option>
			  		<option value="22">22</option>
			  		<option value="23">23</option>
			  		<option value="24">24</option>
			  		<option value="25">25</option>
			  		<option value="26">26</option>
			  		<option value="27">27</option>
			  		<option value="28">28</option>
			  		<option value="29">29</option>
			  		<option value="30">30</option>
			  		<option value="31">31</option>
  			  		</select>
					<select size="1" name="mois_suivi">
					<option value="">Mois</option>
			  		<option value="Janvier">Janvier</option>
			  		<option value="Février">F&eacute;vrier</option>
			  		<option value="Mars">Mars</option>
			  		<option value="Avril">Avril</option>
			  		<option value="Mai">Mai</option>
			  		<option value="Juin">Juin</option>
			  		<option value="Juillet">Juillet</option>
			  		<option value="Aout">Aout</option>
			  		<option value="Septembre">Septembre</option>
			  		<option value="Octobre">Octobre</option>
			  		<option value="Novembre">Novembre</option>
			  		<option value="Décembre">D&eacute;cembre</option>
					</select>
					<select size="1" name="an_suivi">
					<option>Année</option>
			  		<option>2005</option>
			  		<option>2006</option>
			  		<option>2007</option>
					</select>
					</td>
				</tr>
			</table>
			</td>
		</tr>
		<tr>
			<td colspan="4"><textarea rows="4" name="S3" cols="71"></textarea></td>
		</tr>
		<tr>
			<td colspan="4">Avis sur l'affaire:</td>
		</tr>
		<tr>
			<td colspan="4"><textarea rows="4" name="S4" cols="71"></textarea></td>
		</tr>
		<tr>
			<td colspan="4">
			<p align="center"><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></td>
		</tr>
  </table>
	<p align="center">&nbsp;</p>
</form>
</body>
</html>
si vous voulez testez dite le moi je vous fait un login pwd provisoir pour avoir accès au site

par Maxou » 01 mars 2006, 12:07

Merci Hermes

Je me demandé si il n'y avait pas une histoire de synthaxe et je rechercher si j'avai pas oublié des ; après les echo. :oops:

Brefs.

Je le met donc en résolu en vous remerciant tous pour vote aide et votre patience. :D

A bientot
Salutations Maxime

par Hermès » 01 mars 2006, 11:55

met des accolades après le if.
Là tu n'en met pas et tu as plusieurs echo qui se suivent, donc c'est comme si tu avais :
if ($num_enseigne == $enreg['id_enseigne'])
   echo '<option selected value ="';
echo  $enreg['id_enseigne'];
echo '">';
echo $enreg['nom_enseigne'];
echo "</option>";
else
echo '<option value="';
echo $enreg['id_enseigne'];
echo '">';
echo $enreg['nom_enseigne'];
echo "</option>";
}
Donc transforme ça en :
if ($num_enseigne == $enreg['id_enseigne']) {
   echo '<option selected value ="';
   echo  $enreg['id_enseigne'];
   echo '">';
   echo $enreg['nom_enseigne'];
   echo "</option>";
} else {
  echo '<option value="';
  echo $enreg['id_enseigne'];
  echo '">';
  echo $enreg['nom_enseigne'];
  echo "</option>";
}

par Maxou » 01 mars 2006, 11:42

Bonjour,


Bon je vous met un petit mot pour vous dire ou j'en suis.
Je patoge avec ce selected. Je doit loupé quelque chose il me retourne sans arrét des erreurs. Je me demande si le fait d'intégrer un if dans un while pose pas problème. voila mon bout de code que j'essai de bidouillé par rapport à ce que vous m'avez fourni.

Sinon pour le Isset il faut que je m'en rapelle c'est tout à fait ça.

Voila mon bout de code.
<SELECT onChange="top.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?enseigne='+this.options[selectedIndex].value"> 
						<option value=""></option>
					<?php while($enreg= mysql_fetch_assoc($resultat)) {
					
					if ($num_enseigne == $enreg['id_enseigne']) 
					echo '<option selected value ="'; echo  $enreg['id_enseigne']; echo '">'; echo $enreg['nom_enseigne']; echo "</option>";
					else 
					 echo '<option value="'; echo $enreg['id_enseigne']; echo '">'; echo $enreg['nom_enseigne']; echo "</option>";
					  } ?>
Il me met l'erreur a la ligne 31 c'est celle qui correspond au Else.

Je retourne à mon bidouillage (je dis sa car j'apprends au fur et a mesure le php ce n'est pas ce que j'ai appris en bts qui m'aide et pour apprendre ou comprendre le language j'essai plein de truc d'ou bidouillage)

par Hermès » 01 mars 2006, 10:07

il va me rester pour boucler ce sujet le point 2 des choses à résoudres.
Le fait de retrouver dans ma première liste déroulante la valeur sélectionée vue qu'au moment du rafraichissement la liste se réinitialise. (je sais pas si je me fais comprendre.)
echo "<SELECT onChange="top.location.href='index.php?liste1='+this.options[selectedIndex].value">";
echo "<OPTION value=''>-------</OPTION>";
if ($liste1 == "A")
  echo "<OPTION selected>A</OPTION>";
else
  echo "<OPTION>A</OPTION>";
if ($liste1 == "B")
  echo "<OPTION selected>B</OPTION>";
else
  echo "<OPTION>B</OPTION>";
if ($liste1 == "C")
  echo "<OPTION selected>C</OPTION>";
else
  echo "<OPTION>C</OPTION>";
echo "</SELECT>";

$liste1 = $_GET["liste1"];
echo "<SELECT>";
if ($liste1 != "") {
   echo "<OPTION>".$liste1."1</OPTION>";
   echo "<OPTION>".$liste1."2</OPTION>";
   echo "<OPTION>".$liste1."3</OPTION>";
}
echo "</SELECT>";
Note : si ta liste d'option est statique (comme ici) et non pas le résultat d'une requête, l'idéal est d'écrire une fonction qui va faire tous les
if (param = valeur)
  echo "<OPTION selected>Valeur</OPTION>";
else
  echo "<OPTION>Valeur</OPTION>
J'utilise assez souvent une petite fonction de quelques lignes qui prend en paramètre un tableau du type
$tab = array(
   array("valeur" => "A", "description" => "Valeur A", "classe" => "optionType1"),
   array("valeur" => "B", "description" => "Valeur B", "classe" => "optionType5"),
   array("valeur" => "C", "description" => "Valeur C", "classe" => "optionType3")
);
Qui va écrire les options sous la forme

Code : Tout sélectionner

<OPTION value='A' class='optionType1'>Valeur A</OPTION> <OPTION value='B' class='optionType5'>Valeur B</OPTION> <OPTION value='C' class='optionType3'>Valeur C</OPTION>
En deuxième paramètre, la fonction prend la valeur qui doit être sélectionnée pour placer le "selected" au bon endroit.

par ouckileou » 01 mars 2006, 02:37

Pour ton premier problème (positionner la liste sur la valeur précédemment sélectionnée) : http://www.phpfrance.com/forums/voir_sujet-7452.php

Pour l'autre, la variable PHP_SELF contient juste le nom du script courant, donc tu l'insères bien là, mais n'oublie pas de transmettre la valeur sélectionnée
<SELECT onChange="top.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?liste1='+this.options[selectedIndex].value">

par Maxou » 01 mars 2006, 01:54

Banco l'erreur est bien a la ligne 2.

j'avais cerné le problème car si tu te souvient je le mettais dans ma liste de chose à résoudre. seulement je ne voyait pas comment tourner la chose en code.
1 la plus importante récupérer ma variable de cette manière me semble t il:PHP:
$valeur_premiere_liste=$_GET=['enseigne']


Ensuite je l'intèrgre dans la requete SQL mais la command faire pour que ca ne plante pas lors du premier affichage oula variable $valeur_première_liste = '';
demain au bureau j'essais dès que j'arrive.

Génial je suis tout exité par le fait que je vais enfin arriver grace a votre aide a avancé significativement dans l'appli.

il va me rester pour boucler ce sujet le point 2 des choses à résoudres.
Le fait de retrouver dans ma première liste déroulante la valeur sélectionée vue qu'au moment du rafraichissement la liste se réinitialise. (je sais pas si je me fais comprendre.)
2 Moi grave mais une fois que je serais arrivé a ca le fait que dans la première liste déroulante lors qu rechargement de la page reste affiché l'enseigne choisi.
Pendant que j'y pense tu m'a donner une solution pour dire en php de revenir automatiquement sur la meme page. Je le place a quelle endroit ?
echo "<SELECT onChange=\"top.location.href='index.php?liste1='+this.options[selectedIndex].value\">";
code de Hermes

si je veux inclure ta fonction:
echo "<SELECT onChange=\$_SERVER['PHP_SELF'];">";
ou je suis a coté de la plaque?

Merci et bonne nuit.
PS désolé si je suis pas toujours très clair.

par ouckileou » 28 févr. 2006, 21:16

Si tu nous donnais le message d'erreur ça nous aiderait ;)

Mais bon, je pense que ça vient de cette ligne :
$num_enseigne = $_GET["enseigne"];
En effet, quand tu arrives la première fois, $_GET['enseigne'] n'existe pas, donc tu as une erreur

Remplace cette ligne par :
$num_enseigne = isset($_GET["enseigne"])?$_GET['enseigne']:null
Se traduit par : si $_GET["enseigne"] existe, on la met dans $num_enseigne, sinon on met null

par Maxou » 28 févr. 2006, 20:57

Je touche au but.

il me reste toutefois un petit problème à régler. celui du premier chargement de page.
En fait tant que je n'ai pas selectioné d'enseigne il m'affiche une erreur.
une fois que je selectionne une enseigne il m'affiche bien les contacts correspondant. et il n'y a plus d'ereur.

Alors voici mon code comme ca pendant que je cherche si vous voyer quelque chose faite moi signe.
<?php 
$num_enseigne = $_GET["enseigne"];
if ($num_enseigne =='') $num_enseigne = 0;

$requete = "SELECT id_enseigne,nom_enseigne FROM enseigne ";
$requete2 = "SELECT id_contact,nom_contact FROM contact WHERE num_enseigne=$num_enseigne";

	require("connect.php");
	$resultat=mysql_query($requete)
	or die ('erreur de chargement enseignes');
	$resultat2=mysql_query($requete2)
	or die (' Erreur de chargement contact');

?>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
	<tr>
		<td>
		<form method="POST" action="renvoie_ajout_magasin.php">
			<table border="0" width="100%" id="table2" cellspacing="0" cellpadding="0">
				<tr>
					<td align="right" width="50%">Enseigne : </td>
						<td width="50">
						<?php 
						echo "<SELECT onChange=\"top.location.href='ajout_magasin.php?enseigne='+this.options[selectedIndex].value\">";  ?>
						<option value=""></option>
					<?php while($enreg= mysql_fetch_assoc($resultat)) { ?>
					  <option value="<?php echo $enreg['id_enseigne']; ?>"><?php echo $enreg['nom_enseigne']; ?></option>
					 <?php } ?>
					</select></td>
				</tr>
				<tr>
					<td align="right" width="50%">Nom Magasin : </td>
					<td width="50"><input type="text" name="magasin" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">Contact :</td>
					<td width="50">
					<select name="contact"> 
					<option value=""></option>
					<?php while($enreg2= mysql_fetch_assoc($resultat2)) { ?>
					  <option value="<?php echo $enreg2['id_contact']; ?>"><?php echo $enreg2['nom_contact']; ?></option>
					 <?php } ?></select>
					</tr>
				<tr>
					<td align="right" width="50%">Téléphone : </td>
					<td width="50"><input type="text" name="tel" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">Fax :</td>
					<td width="50"><input type="text" name="fax" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">Adresse : </td>
					<td width="50"><input type="text" name="adresse" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">Code postal : </td>
					<td width="50"><input type="text" name="cp" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">Ville : </td>
					<td width="50"><input type="text" name="ville" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">N° de Siret :</td>
					<td width="50"><input type="text" name="siret" size="20"></td>
				</tr>
				<tr>
					<td align="right" width="50%">Informations : </td>
					<td width="50"><textarea rows="2" name="info" cols="20"></textarea></td>
				</tr>
				<tr>
					<td align="right" width="50%">Directeur : </td>
					<td width="50"><input type="text" name="directeur" size="20"></td>
				</tr>
			</table>
			<p align="center"><input type=IMAGE src="media/icon/control_panel.png" width="64" height="64" input type="submit">&nbsp;&nbsp; <a href="accueuil.php">
	<img border="0" id="img1" src="media/icon/Network_Neighborhood.png" height="64" width="64" alt="Retour menu" fp-title="Retour menu"></a></p>
		</form>
		</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
</table>
Voila et merci pour ce coup de main et vos future réponse toujours rpide :D

par Maxou » 28 févr. 2006, 20:38

J'avance doucement mais surement

En fait je n'avias pas compris correctement son code.
Mais enfaisant des test on avance petit a petit .

Bref j'en suis au point oulorsque je selectionne dans ma première liste une enseigne, ca me recharge la page avec une variable qui contient l'id_enseigne choisi dans la lsite.

je te met le code tui comprendra peut etre mieux.
<?php 
						echo "<SELECT onChange=\"top.location.href='ajout_magasin.php?enseigne='+this.options[selectedIndex].value\">";  ?>
						<option value=""></option>
					<?php while($enreg= mysql_fetch_assoc($resultat)) { ?>
					  <option value="<?php echo $enreg['id_enseigne']; ?>"><?php echo $enreg['nom_enseigne']; ?></option>
					 <?php } ?>
Maintenant il me faut trouver le moyen de faire deux choses.

1 la plus importante récupérer ma variable de cette manière me semble t il:
$valeur_premiere_liste=$_GET=['enseigne']
Ensuite je l'intèrgre dans la requete SQL mais la command faire pour que ca ne plante pas lors du premier affichage oula variable $valeur_première_liste = '';

2 Moi grave mais une fois que je serais arrivé a ca le fait que dans la première liste déroulante lors qu rechargement de la page reste affiché l'enseigne choisi.

Alors que maintenant ma liste se réinitialise toute seule lors du rechargement de la page.

Tu vois il me reste du chemin a faire ce soir. :lol:

par ouckileou » 28 févr. 2006, 20:10

Son code redirige vers la même page, et il transmet la valeur sélectionnée dans l'url, donc c'est ce que tu veux faire.

Tu peux aussi mettre la première liste dans un formulaire, dire que ce formulaire renvoie sur cette même page, et soumettre le formulaire en Javascript de la même façon (onChange())

Petit astuce pour dire dynamiquement "cette même page" :
$_SERVER['PHP_SELF']; // contient le nom du script courant
ça t'évitera de devoir modifier le script si tu changes le nom de ton fichier

Par contre je ne comprend pas pourquoi tu dis "si on a toujours la même chose dans les listes"

par Maxou » 28 févr. 2006, 20:06

Je ferai attention maintenant.

Sinon ma compréhension du code que m'a donné Hermès est bonne ou pas du tout?

Merci

par ouckileou » 28 févr. 2006, 20:04

En fait question d'habitude je met souvent * quand je cherche dans une seul table et après un mysql_fetch_assoc pour récupérer mes champs.
C'est une mauvaise habitude :)

Imagine, tu as 15 colonnes dans ta tableau "Contacts", et ta requête te ramène 5000 lignes.
Tu vois la taille de ce qui est ramené ? Quel intérêt si c'est pour n'ne utiliser que 2 sur les 15. Avec ça tu ralentis inutilement ton appli (même si c'est pas de beaucoup)

De plus, tu pourrais avoir des problèmes en cas de changement de structure de la table (bon le mysql_fetch_assoc l'empêche a priori), et un SELECT * n'est pas très facile à relire quand on reprend un script quelques temps après, en listant les champs demandés, on sait déjà à quoi la requête sert ;)

par Maxou » 28 févr. 2006, 19:55

$requete = "SELECT id_enseigne,nom_enseigne FROM enseigne ";
$requete2 = "SELECT id_contact,nom_contact FROM contact";

	require("connect.php");
	$resultat=mysql_query($requete)
	or die ('erreur de chargement enseignes');
	$resultat2=mysql_query($requete2)
	or die (' Erreur de chargement contact');
Comme ca ?

En fait question d'habitude je met souvent * quand je cherche dans une seul table et après un mysql_fetch_assoc pour récupérer mes champs.

Bon j'ai du m'absenter jusqu'a maintenant.

Je viens de lire le code Hermès et je me pose une question. Ta solution elle marche si on a tuojours la meme chose dans les listes déroulante.

Je m'explique, si j'ai compris quand on va choisir un champs dans la liste le système onchange va rediriger sur une autre page. Est ce qu'a ce moment la je peux envoyer une variable qui serai dans la liste déroulante.

Si oui je redirige sur la meme page et je recupère la varible que j'introduit dans ma requete Sql pour la deuxième liste déroulante.


je vais essayer tout de suite.