le 03/06/2010 à 17:25
sam01
Bonjour,
j'ai la liste déroulante suivante
Lors de l'inscription de l'utilisateur ça marche parafitement.
Mon souci c'est pour la modifications des données
Je vais chercher les infos dans la base mysql et je réaffiche le formulaire
Mon formualire s'affiche bien avec les bonnes données, mais quand je veux changer la ville ou le pays dans la liste déroulante, je reviens toujours aux même données....
Ca signifie que l'utilisateur ne peur modifier ni le pays ni la ville....
Merci d'avance pour votre aide.
j'ai la liste déroulante suivante
<p class="double">
<label for="f1-pays" class="oblig">* Pays :
<span class="info"></span></label>
<?php
echo '<select name="ad_pays" class="font" onchange="document.forms[\'form01\'].submit();">';
if (empty($ad_pays))
{
echo '<option value="-1" selected="selected">Choisir</option>';
}
else
{
echo '<option value="-1">Choisir</option>';
}
// on se connecte à MySQL
include ('connect.php');
$sqla = sprintf("SELECT pays_".$lg." FROM flatforswap_pays ORDER BY pays_".$lg." ASC");
$reqa = mysql_query($sqla) or die('Erreur SQL !<br>'.$sqla.'<br>'.mysql_error());
while($dataa = mysql_fetch_assoc($reqa))
{
if ($ad_pays == $dataa['pays_'.$lg.''])
{
echo '<option value="'.$dataa['pays_'.$lg.''].'" selected="selected">'.$dataa['pays_'.$lg.''].'</option>';
}
if ($ad_pays != $dataa['pays_'.$lg.''])
{
echo '<option value="'.$dataa['pays_'.$lg.''].'">'.$dataa['pays_'.$lg.''].'</option>';
}
}
?>
</select>
</p>
<p class="double">
<label for="f1-ville" class="oblig">* Ville :
<span class="info"></span></label>
<!--<select name="ad_ville" class="font">-->
<?php
echo '<select name="ad_ville" calss="font" onchange="document.forms[\'form01\'].submit();">'; // <!-- correspond à l'id du formulaire id="form01" -->
echo '<option value="-1">Choisir</option>';
// requête de jointure entre la table pays et la table ville
$sqlb = sprintf("SELECT vl.ville_fr FROM flatforswap_ville vl INNER JOIN flatforswap_pays py ON py.id_pay = vl.id_pay WHERE py.pays_".$lg." = '".$ad_pays."' ORDER BY vl.ville_fr ASC");
$reqb = mysql_query($sqlb) or die('Erreur SQL !<br>'.$sqlb.'<br>'.mysql_error());
while($datab = mysql_fetch_assoc($reqb))
{
if ($ad_ville == $datab['ville_fr'])
{
echo '<option value="'.$datab['ville_fr'].'" selected="selected">'.$datab['ville_fr'].'</option>';
}
if ($ad_ville != $datab['ville_fr'])
{
echo '<option value="'.$datab['ville_fr'].'">'.$datab['ville_fr'].'</option>';
}
}
?>
</select>
</p>
Lors de l'inscription de l'utilisateur ça marche parafitement.
Mon souci c'est pour la modifications des données
Je vais chercher les infos dans la base mysql et je réaffiche le formulaire
<?php
$id_vil = $datae['id_vil'];
// on détermine la ville et le code postal
$sqlf = sprintf("SELECT id_pay, ville_fr, ad_cp FROM flatforswap_ville WHERE id_vil='".$id_vil."'");
$reqf = mysql_query($sqlf) or die('Erreur SQL : <br />'.$sqlf);
$dataf = mysql_fetch_assoc($reqf);
$ad_ville = $dataf['ville_fr'];
echo $ad_ville;
$ad_cp = $dataf['ad_cp'];
$id_pay = $dataf['id_pay'];
// on détermine le pays
$sqlg = sprintf("SELECT id_con, pays_".$lg." FROM flatforswap_pays WHERE id_pay='".$id_pay."'");
$reqg = mysql_query($sqlg) or die('Erreur SQL : <br />'.$sqlg);
$datag = mysql_fetch_assoc($reqg);
$id_con = $datag['id_con'];
$ad_pays = $datag['pays_'.$lg.''];
echo $ad_pays;
?>
Mon formualire s'affiche bien avec les bonnes données, mais quand je veux changer la ville ou le pays dans la liste déroulante, je reviens toujours aux même données....
Ca signifie que l'utilisateur ne peur modifier ni le pays ni la ville....
Merci d'avance pour votre aide.