Liste déroulante et modification

Répondre
sam01
le 03/06/2010 à 17:25
sam01
Bonjour,

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.
moogli
le 03/06/2010 à 20:56
moogli
salut,

j'ai pas tout suivis :
- est ce que c'est sur la page web que tu ne peut pas changer la ville ?
- est ce que le changement sur la page web se fait mais que la validation du formulaire n'effectue pas le changement ?

dans le 1er cas faut voir coté JS sur le browser (ton onchange avec un submit dedans me semble foireux (sans parler du fait que tout les navigateurs / utilisateurs ne supporte pas / utilise pas JS.

Pour info tes sprintf ne servent à rien sans les utiliser correctement.

peut tu donner plus d'info sur le "moment" où a lieu le problème ?

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

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