Affichage de l'id vers le nom

Répondre
kerlian
le 13/10/2012 à 13:48
kerlian
Bonjour à tous , j'ai trouver une double listes déroulantes en php , mais mon soucis c'est dans le résultat cela affiche les id's et je voudrais que affiche les marques et modèles . Je joint le codes avec . Merci d'avance pour votre aide .

<?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 = "*****";
$mdp = "******";
$base = "motos";
/* On récupère si elle existe la valeur de la marque envoyée par le formulaire */
$idr = isset($_POST['marques'])?$_POST['marques']:null;
?>
<?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_marques`, `marques`".
" FROM `marques`".
" ORDER BY `id_marques`";
$rech_marquess = mysql_query($sql1);
$code_marques = array();
$marques = array();
/* On active un compteur pour les marques */
$nb_marquess = 0;
if($rech_marquess != false)
{
while($ligne = mysql_fetch_assoc($rech_marquess))
{
array_push($code_marques, $ligne['id_marques']);
array_push($marques, $ligne['marques']);
/* On incrémente le compteur */
$nb_marquess++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgmoto">
<div align="center">
<table width="43%" height="66" border="1">
<tr>
<th width="28%" scope="col"><div align="left">Marque Moto :</div></th>
<th width="72%" scope="col"><div align="left">
<select name="marques" id="marques" onchange="document.forms['chgmoto'].submit();">
<option value="-1">- - - Choisir une Marque - - -</option>
<?php
for($i = 0; $i < $nb_marquess; $i++)
{
?>
<option value="<?php echo($code_marques[$i]); ?>"<?php echo((isset($idr) && $idr == $code_marques[$i])?" selected=\"selected\"":null); ?>><?php echo($marques[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_marquess);
/* On commence par vérifier si on a envoyé un numéro de marque et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Création de la requète pour avoir les modèles de cette marque */
$sql2 = "SELECT `id_models`, `models`".
" FROM `models`".
" WHERE `id_marques` = ". $idr ."".
" ORDER BY `id_models`;";
if($connexion != false)
{
$rech_moto = mysql_query($sql2, $connexion);
/* Un petit compteur pour les modèles */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des modèles */
$code_moto = array();
$nom_moto = array();
/* On va mettre les numéros et noms des modèles dans les deux tableaux */
while($ligne_moto = mysql_fetch_assoc($rech_moto))
{
array_push($code_moto, $ligne_moto['id_models']);
array_push($nom_moto, $ligne_moto['models']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
</div></th>
</tr>
<tr>
<td><div align="left"><strong>Mod&egrave;les Moto :</strong></div></td>
<td><select name="models" id="models">
<option value="-1">- - - Choisir un Mod&egrave;le - - -</option>
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_moto[$d]); ?>"<?php echo((isset($moto_selectionne) && $moto_selectionne == $code_moto[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_moto[$d]." (". $code_moto[$d] .")"); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_moto);
}
?></td>
</tr>
<tr></tr>
</table>
<table width="43%" border="1">
<tr>
<th scope="col"> <input type="submit" name="ok" id="ok" value="Rechercher" /></th>
</tr>
</table>
</div>
</form>
<p>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
?>

<?php
if(isset($_POST['ok']) && isset($_POST['models']) && $_POST['models'] != "")
{
$marques_selectionnee = $_POST['marques'];
$modls_selectionne = $_POST['models'];
$envoi_details = $_POST['details'];
?>
</p>
<div align="center">
<table width="49%" border="1">
<tr>
<th width="35%" scope="col">Marque Moto </th>
<th width="40%" scope="col">Model Moto</th>
<th width="25%" scope="col">D&eacute;tails</th>
</tr>
<tr>
<td><div align="center"><?php echo($marques_selectionnee); ?></div></td>
<td><div align="center"><?php echo($modls_selectionne); ?></div></td>
<td><div align="center"><?php echo($envoi_details); ?></div></td>
</tr>
</table>
</div>
<p>
<?php
}
?>
</p>
kerlian
kerlian
le 13/10/2012 à 20:20
kerlian
J'ai réussi à faire apparaitre le modèles de moto mais pas sa marque . sa affiche encore l'id , quelqu'un a une idée svp ?
kerlian
kerlian
le 14/10/2012 à 13:22
kerlian
J'ai tenter de faire un array_flip de marques mais ça affiche quand même la donnée numérique . quelqu'un aurais une idée svp ?
kerlian
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours