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

PHP & Base de données Discussion :

problème d'affichage dans la deuxième liste déroulante


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut problème d'affichage dans la deuxième liste déroulante
    Bonjour Tout le monde
    il s'agit d'un code qui me permet d'afficher une liste déroulante en fonction d'une autre
    la chose qui me bloque c'est que lorsque je choisi un critère de la première liste, il m'affiche tous les sous-critères qui se trouve dans ma base dans la deuxième liste déroulante.
    Mon objectif est d'afficher seulement les sous-critères du critère selectionné
    et voici le petit bout de code:
    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
     
     <?php
    				// affichage des contacts appartenant à la selection
    				echo "<select size='1' name='Dynamic'>";
    				$rq="Select * from contact  order by Dynamic_field1;";
    				$result= mysql_query ($rq) or die (mysql_error());
    				// $i = initialise le variable i
    				$i=0;
    				while ($dt=mysql_fetch_row($result))
    				{
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[4])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[5])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[6])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[7])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[8])."</option><br>";
    				}
    				echo "</select>";
    				?>
    Dans l'attente de vos réponses je voudrais suggérer mes salutations les plus distinguées

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Bonjour infoges et bienvenu.

    Pour faire ce que tu souhaite faire, tu as plusieurs options:

    1/ Si tu veux faire simple, il faut que tu soumette un formulaire quand tu fais une selection dans la première listes. Le résultat de cette sélection définira tes critères pour créer la seconde.

    2/ Ajax (pas le nettoyant, l'autre ;-), celui à base de Javascript, HTML, ...).

    Quand tu poste du code utilise la balise "#" dans la barre du haut pour que ce soit plus lisible. Merci

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut problème d'affichage dans la deuxième liste déroulante
    en fait j'ai fait comme tu m'as dit , et j'ai utilisé JavaScript pour afficher ma deuxième liste déroulante
    et le code que j'ai posté ce n'est plus tout le code

    et voici tout le code de l'affichage des deux listes déroulantes
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    		<script type="text/javascript">
    			/**
    			* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
    			*/
    			function sendData(param, page)
    			{
    				if(document.all)
    				{
    					//Internet Explorer
    					var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    				}//fin if
    					else
    					{
    					//Mozilla
    					var XhrObj = new XMLHttpRequest();
    					}//fin else
     
    				//définition de l'endroit d'affichage:
    				var content = document.getElementById("contenu");
     
    				XhrObj.open("POST", page);
     
    				//Ok pour la page cible
    				XhrObj.onreadystatechange = function()
    				{
    					if (XhrObj.readyState == 4 && XhrObj.status == 200)
    					content.innerHTML = XhrObj.responseText ;
    				}
     
    				XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				XhrObj.send(param);
    			}//fin fonction SendData
     
    		</script>
    	</head>
    	<body>
     
    		<?php
    		// Appel à include "include.php";
    		include "include.php";
    		$i=0; // variable de test
    		$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
    		// Séléction de tous les enregistrements de la table contact_client
    		$rq="Select * from	 contact_client";
    		$result= mysql_query ($rq) or die (mysql_error());
    		echo "<form method='POST' action=''>";?> 
    			<select size="1" name="item" OnChange="sendData('item='+this.value,'lirecontact.php')" onKeyUp="sendData('item='+this.value,'lirecontact.php')">
     
    				<?php
    				while ($dt=mysql_fetch_row($result))
    				{
    					// Remplir la liste déroulante de la table contact_client
    					echo "<option value=".($dt[0]).">".($dt[2])."</option>";
    					echo "<option value=".($dt[0]).">".($dt[3])."</option>";
    					echo "<option value=".($dt[0]).">".($dt[4])."</option>";
    					echo "<option value=".($dt[0]).">".($dt[5])."</option>";
    					echo "<option value=".($dt[0]).">".($dt[6])."</option>";
    					if ($i==0) 
    					{ 
    						$j=$dt[0]; $i=1; 
    					} // garder la valeur du premier enregistrement
    				}
     
    				?>
    			</select><br><br>
     
     
     
    			<div id="contenu">
    				<?php
    				// affichage des contacts appartenant à la selection
    				echo "<select size='1' name='Dynamic'>";
    				$rq="Select *   order by Dynamic_field1;";
    				$result= mysql_query ($rq) or die (mysql_error());
    				// $i = initialise le variable i
    				$i=0;
    				while ($dt=mysql_fetch_row($result))
    				{
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[4])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[5])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[6])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[7])."</option><br>";
    					echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[8])."</option><br>";
    				}
    				echo "</select>";
    				?> 
    			</div>
     
    		</form>
    	</body>
    </html>

Discussions similaires

  1. [AC-2007] Problème d'affichage dans une liste déroulante
    Par FlobLeponge dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 05/01/2012, 14h55
  2. [MySQL] affichage de la deuxième liste déroulante
    Par infoges dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/04/2010, 22h32
  3. Réponses: 3
    Dernier message: 24/11/2008, 14h09
  4. Problème d'affichage dans une zone de liste
    Par wood_phil dans le forum IHM
    Réponses: 1
    Dernier message: 26/09/2008, 00h25
  5. [MySQL] problème d'affichage dans une liste
    Par bromlecornu dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/05/2007, 16h08

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