par
luc2590 » 26 sept. 2006, 21:08
D'abord, merci de ton intérêt
Ensuite, voici le code en PHP
Je ne savais pas comment faire pour y mettre la présentation
Oui, le code me semble correct dans le sens où il me permet d'avoir un formulaire avec une première liste déroulante et une deuxième en découlant.
Il permet également d'envoyer dans la base les nouveaux enregistrements, mais incomplètement puisque je n'arrive pas à récupérer la variable nommarque ; nommarque ne se retrouve donc pas dans la base!
Là est mon problème
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgmarque">
<fieldset>
<legend>Votre annonce:</legend>
<label>Marque:</label>
<select name="idmarque" id="idmarque"
onchange="document.forms['chgmarque'].submit();">
<option value="">Choississez une marque</option>
<?php
for($i=0; $i<$nb_marque; $i++)
{
?>
<option value=" <?php echo($idmarque[$i]) ; ?>"
<?php
echo((isset($idr) && $idr==$idmarque[$i])?" selected=\"selected\" ":null);
?> >
<?php echo($nommarque[$i]); ?>
</option>
<?php
}
?>
</select><br />
tentative avec "explode" dans "option value " (sans résultat) :
<?php
for($i=0; $i<$nb_marque; $i++)
{
$t=$idmarque[$i] ."-" . $nommarque[$i];
?>
<option value="<?php
$tab=explode("-", $t);
echo $t,"<br>";
print_r($tab);
?>">
Pour la deuxieme liste déroulante:
<?php
//echo 'post<pre>' ;print_r($_POST) ;echo'</pre>';
//choix Modeles:
mysql_free_result($rech_marque);
if(isset($idr) && $idr !=-1)
{
$sql2="SELECT idmodele, modele
FROM modeles
WHERE idmarque=$idr
ORDER BY idmodele";
{
$rech_modele=mysql_query($sql2);
$nd=0;
$idmodele=array();
$modele=array();
while($ligne_modele=mysql_fetch_assoc($rech_modele))
{
array_push($idmodele, $ligne_modele['idmodele']);
array_push($modele, $ligne_modele['modele']);
$nd++;
}
?>
<label>Modele</label>
<select name="modele" id="modele">
<?php
for($d=0; $d<$nd; $d++)
{
?>
<option value="<?php echo($modele[$d]); ?>">
<?php echo($modele[$d]); ?>
</option>
<?php
}
?>
</select>
<?php
}
mysql_free_result($rech_modele);
}
?>
<?php $nommarque[$i] = isset($_POST['nommarque[$i]']) ? $_POST['nommarque[$i]'] : "";
$modele[$d] = isset($_POST['modele[$d]']) ? $_POST['modele[$d]'] : "";
echo 'post<pre>' ;print_r($_POST) ;echo'</pre>';
?>
</fieldset>