IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Modification Formulaire et liste déroulante dynamique


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut Modification Formulaire et liste déroulante dynamique
    Bonjour à tous,

    je veux permettre à l'internaute de modifier les données du formulaire.

    Lorsque l'internaute retourne sur le formulaire, j'effectue (avant d'afficher le formulaire) un select dans la base de données afin d'afficher les données actuelle.

    Le seul souci que j'ai, c'est au niveau du nom du pays et de la ville

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
     
    	<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 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 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'])
    					{
    						echo '<option value="'.$datab['ville'].'" selected="selected">'.$datab['ville'].'</option>';
    					}
    					if ($ad_ville != $datab['ville'])
    					{
    						echo '<option value="'.$datab['ville'].'">'.$datab['ville'].'</option>';
    					}
    				}
     
     
     
    			?>
     
     
    			</select>
    Quand je sélectionne un autre pays dans la liste déroulante, je retombe toujours sur le même pays (celui que j'ai sélectionné dans la base de données)

    Mon souci c'est que je ne peux pas retirer ce select car il me permet d'afficher les données de l'internaute... Je suis coincé...

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Quand je sélectionne un autre pays dans la liste déroulante, je retombe toujours sur le même pays (celui que j'ai sélectionné dans la base de données)
    Regardes la Faq.
    Mais je voit que tu veux utiliser des listes liees?
    Listes déroulantes liées entre elles.

    A+.

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut
    Ben au fait mon réel souci ce n'est pas ça.

    Je sais faire des listes déroulates liées.
    D'aileurs ça fonctionne bien.

    Mon souci, c'est au moment je veux choisir un autre pays, ma page se recharge donc et je retombe sur ma requête qui sélectionne le pays qui est dans la base de donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    include ('connect.php');	
     
    		$sqle = sprintf("SELECT civilite, nom, prenom, ad_ligne1, ad_ligne2, id_vil, telephone FROM flatforswap_adherent WHERE id_adh=%s", quote_smart($_SESSION["id_adh"]));
    		$reqe = mysql_query($sqle) or die('Erreur SQL : <br />'.$sqle);
    		$datae = mysql_fetch_assoc($reqe);
    		$civilite = $datae['civilite'];
    		$nom = $datae['nom'];
    		$prenom = $datae['prenom'];
    		$ad_ligne1 = $datae['ad_ligne1'];
    		$ad_ligne2 = $datae['ad_ligne2'];
     
    		$telephone = $datae['telephone'];
     
     
     
    		$id_vil = $datae['id_vil'];
    		// on détermine la ville et le code postal
     
    		$sqlf = sprintf("SELECT id_pay, ville, 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'];
    		$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.''];
    Et donc quand je choisi un autre pays, et bien en rechargeant la page, je retombe toujours sur le pays de ma base de données et pas sur le pays que j'ai choisi...

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Regardes la faq sur la conservation d'un option selectionnée après submission d'un formulaire.

Discussions similaires

  1. affichage d'une liste déroulante dynamique dans un formulaire
    Par manelll dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/06/2015, 12h42
  2. Formulaire avec liste déroulant dynamique
    Par Medkeita dans le forum Langage
    Réponses: 10
    Dernier message: 01/10/2010, 10h14
  3. [Formulaire] Liste déroulante dynamique
    Par High Voltage dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 16/06/2008, 12h51
  4. Réponses: 4
    Dernier message: 23/04/2006, 21h27
  5. [FORMULAIRE] Liste déroulante dynamique
    Par bchristo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2005, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo