PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-06-2010 16:22:16

sam01
Membre
Inscription : 28-03-2010
Messages : 7

Liste déroulante et modification de données

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


                $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.

Dernière modification par sam01 (03-06-2010 16:23:24)

Hors ligne

#2 03-06-2010 17:07:20

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Liste déroulante et modification de données

<select name="ad_pays"

$id_pay = $dataf['id_pay']

a mon avis, l'erreur viens de là wink

a++

Hors ligne

#3 03-06-2010 20:13:04

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Liste déroulante et modification de données

je rajoute la couche sur les sprintf inutile comme sur lephpfacile ou tu a posé la même question ....


@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

Pied de page des forums