Voila j'ai repris quelque tuto sur le net pour faire deux listes déroulantes liées. Et je voudrais, qu'apres avoir choisis les deux listes et que l'on appuie sur le bouton Submit, ma page se recharge et affiche une phrase dans la page du style : "Vous avez sélectionné le client XX et la transaction XX" Le problème c'est que je n'arrive pas à récupérer la transaction ...
J'ai fais deux trois test donc j'arrive bien a récuperer le nom du client après le Submit mais pas la transaction ... Si quelqu'un arrive à me débuguer je le remercierais grandement ^^
<?php
echo '<html>';
echo '<body>';
$base = "metrique_sap";
$idr = isset($_POST['client'])?$_POST['client']:null;
if(isset($_POST['ok']) && isset($_POST['transaction']) && $_POST['transaction'] != "")
{
$client_selectionnee = $_POST['client'];
$trans_selectionne = $_POST['transaction'];
?>
<p>Vous avez sélectionné le client <?php echo($client_selectionnee); ?> et la transaction <?php echo($trans_selectionne); ?></p>
<?php
}
?>
<h3>Trouver une transaction</h3>
<?php
$connexion = mysql_connect('xxxxx', 'xxxxxxx', 'xxxxxxx');
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `IDServeur`,`client`".
" FROM `Serveurs`";
$rech_client = mysql_query($sql1);
$code_client = array();
$client = array();
/* On active un compteur pour les régions */
$nb_client = 0;
if($rech_client != false)
{
while($ligne = mysql_fetch_assoc($rech_client))
{
array_push($code_client, $ligne['IDServeur']);
array_push($client, $ligne['client']);
/* On incrémente de compteur */
$nb_client++;
}
}
?>
<form action="steps.php" method="post" id="chgtrans">
<fieldset style="border: 3px double #333399">
<legend>Sélectionnez un client</legend>
<select name="client" id="client" onchange="document.forms['chgtrans'].submit();">
<option value="-1">- - - Choisissez un client - - -</option>
<?php
for($i = 0; $i < $nb_client; $i++)
{
?>
<option value="<?php echo($code_client[$i]); ?>"<?php echo((isset($idr) && $idr == $code_client[$i])?" selected=\"selected\"":null); ?>><?php echo($client[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_client);
/* 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 Item.transaction FROM Item INNER JOIN Relation ON Item.IDItem = Relation.IDItem INNER JOIN Serveurs ON Relation.IDServeur = Serveurs.IDServeur INNER JOIN Data ON Data.IDServeur = Relation.IDServeur AND Data.IDItem = Relation.IDItem WHERE Serveurs.IDServeur = ". $idr ." GROUP BY Item.transaction";
if($connexion != false)
{
$rech_trans = 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_trans = array();
$nom_trans = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_trans = mysql_fetch_assoc($rech_trans))
{
array_push($code_trans, $ligne_trans['IDItem']);
array_push($nom_trans, $ligne_trans['transaction']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="transaction" id="transaction">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_trans[$d]); ?>"<?php echo((isset($trans_selectionne) && $trans_selectionne == $code_trans[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_trans[$d]); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_trans);
}
?>
<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
}
echo '</body>';
echo '</html>';
?>