begin process at 2012 05 30 19:41:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

intéraction entre deux / trois listes déroulantes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

intéraction entre deux / trois listes déroulantes

dimanche 2 janvier 2005 à 03:20:07 | intéraction entre deux / trois listes déroulantes

scartail

Bonjour et bonne année,

J'ai trois listes déroulantes : pays, départements, villes.
Je veux que chaque liste s'incrémente suivant le choix fait dans la liste précédente en PHP.

J'ai trouvé une partie de la solution sans recharger la page :

<?php require_once('Connections/connect.php');

$SQL="SELECT * FROM ms_rech_pays";
$result = mysql_query($SQL);

?>
<script language="JavaScript"><!--
liste=new Array()
liste[0]=new Array("vide !","")
<?
while ($val = mysql_fetch_array($result)) {
$SQL2 = "select dpt_nom, num_dpt from ms_rech_departement where num_pays_dpt =";
$SQL2 .= $val["num_pays"];
$result2 = mysql_query($SQL2);
?>
liste[<?echo $val["num_pays"];?>]=new Array(<?
while ($val2 = mysql_fetch_array($result2))
echo "\"".$val2["dpt_nom"]."\",";
?>"")
<? }
?>
function changeliste() {
choix=document.monform.listeA.value
t="<select name='listeB'>"
for(i=0;i<liste[choix].length-1;i++)
t+="<option>"+liste[choix][i]+"</option>"
document.monform.listeB.outerHTML=t+"</select>"
}
--></script>
<form name="monform">
<select name="listeA" onChange=changeliste()>
<option value=0>Choisit une liste</option>

<?
mysql_data_seek($result,0); // movefirst
while ($val = mysql_fetch_array($result)) {
?>
<option value=<?echo $val["num_pays"];?>>Liste
<?
echo $val["pays"];?>
</option>
<? }
mysql_close(); ?>
</select>
<select name="listeB">
<option>vide !</option>
</select><br><br>
<input type="Submit" value="Envoyer">
</form>


le seul hic comment mettre mon num_dpt dans "option value" car pour l'instant je récupère que le nom du département et je ne peux rien en faire et comment implémenter ma troisième liste déroulante ?

Si vous avez une idée je vous en remercie par avance.

Charlie :-)
dimanche 2 janvier 2005 à 11:43:19 | Re : intéraction entre deux / trois listes déroulantes

Anthomicro

Salut ;-)

Bon, <? à remplacer par <?php

ensuite les multiples ouvertures/fermetures de balises c'est crade, autant mettre des echo '';

sinon vois sur le forum javascript forum javascript pour une réponse à ta question en javascript.

a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
mardi 4 janvier 2005 à 14:43:59 | Re : intéraction entre deux / trois listes déroulantes

bebstylus

slut,

tableau a double entré pr stocker des données
ds l'option en value du met la donnée numéro dep et entre la balise de début et de fin celle du nom

j'espere que ca repond a ta question

mardi 4 janvier 2005 à 15:05:04 | Re : intéraction entre deux / trois listes déroulantes

scartail

Bonjour et merci,

Je ne vois pas concrêtement comment mettre en oeuvre ce que vous me dites.

Pourriez-vous me donner le code ?

Merci infiniment.
mardi 4 janvier 2005 à 15:27:02 | Re : intéraction entre deux / trois listes déroulantes

bebstylus

quand tu contruits ton tableau :

liste[i][j][k]

pr k=0 : tu met le nom du dep
pr k=1 le numéro
 et apres ds le option du rajoute la propriété value=tablo[i][j][1]

c plus clair?

mercredi 5 janvier 2005 à 01:01:51 | Re : intéraction entre deux / trois listes déroulantes

scartail

Ma foi ! comme de l'eau de roche ! je ne comprend rien j'ai du mal avec la synthaxe de javascript, alors tant qu'à pousser votre gentillesse jusqu'au bout, pouvez vous modifier mon bout de code ?

<script language="JavaScript">
   liste=new Array()
   liste[0]=new Array("vide !","")
<?
while ($val = mysql_fetch_array($result)) {
   $SQL2 = "select dpt_nom, num_dpt from ms_rech_departement where num_pays_dpt =";
   $SQL2 .= $val["num_pays"];
   $result2 = mysql_query($SQL2);
?>  

liste[<?echo $val["num_pays"];?>]=new Array(<?
   while ($val2 = mysql_fetch_array($result2))

echo "\"".$val2["dpt_nom"]."\",";
           ?>"")
<? }
?>
   function changeliste() {
 choix=document.monform.listeA.value
      t="<select name='listeB'>"
      for(i=0;i<liste[choix].length-1;i++)

 t+="<option>"+liste[choix][i]+"</option>"
      document.monform.listeB.outerHTML=t+"</select>"
   }
-->
</script>

C'est la dernière fois que j'abuse ou ... presque
Heu ! comme imbriquez vous une troisième liste dans tout ça ?

Pitié pour quelqu'un qui a du mal à dormir depuis quelque jours à force de cogiter ...

mercredi 5 janvier 2005 à 09:00:15 | Re : intéraction entre deux / trois listes déroulantes

bebstylus

honnetement je ne suis pas trop tourné vers le javascript pour le moment ormis pour une gestion de frame ...

moi j'ai deja résolu ton probleme mais je code en php la totalité et je recharge la frame ou se trouve les combo est ce que cela resoudrai ton probleme ou tu veut le faire comme tu es parti? dans ce cas je regarderai ton code mais faudra envoyer la totalité du fichier pour que je puisse tester dans ta configuration entiere de code.

bonne nuit

mercredi 5 janvier 2005 à 23:59:13 | Re : intéraction entre deux / trois listes déroulantes

scartail

Ok je veux bien que vous regardiez "à votre façon", cela peut me dépanner.

Voici le code de la page :

<?php require_once('../Connections/mika_sarolea.php'); ?>
<?php
mysql_select_db($database_mika_sarolea, $mika_sarolea);
$query_list_pays = "SELECT num_pays, pays FROM ms_rech_pays ORDER BY pays ASC";
$list_pays = mysql_query($query_list_pays, $mika_sarolea) or die(mysql_error());
$row_list_pays = mysql_fetch_assoc($list_pays);
$totalRows_list_pays = mysql_num_rows($list_pays);
?>
<?php
$colname_list_dpt = "1";
if (isset($_SESSION['pays'])) {
  $colname_list_dpt = (get_magic_quotes_gpc()) ? $_SESSION['pays'] : addslashes($_SESSION['pays']);
}
mysql_select_db($database_mika_sarolea, $mika_sarolea);
$query_list_dpt = sprintf("SELECT num_dpt, num_pays_dpt, dpt_nom FROM ms_rech_departement WHERE num_pays_dpt = %s ORDER BY dpt_nom ASC", $colname_list_dpt);
$list_dpt = mysql_query($query_list_dpt, $mika_sarolea) or die(mysql_error());
$row_list_dpt = mysql_fetch_assoc($list_dpt);
$totalRows_list_dpt = mysql_num_rows($list_dpt);
?>
<?php

$SQL="SELECT * FROM ms_rech_pays";
$result = mysql_query($SQL);

?>
<script language="JavaScript">
   liste=new Array()
   liste[0]=new Array("vide !","")

<?
while ($val = mysql_fetch_array($result)) {
   $SQL2 = "select dpt_nom, num_dpt from ms_rech_departement where num_pays_dpt =";
   $SQL2 .= $val["num_pays"];
   $result2 = mysql_query($SQL2);
?>  

liste[<?echo $val["num_pays"];?>]=new Array(<?
   while ($val2 = mysql_fetch_array($result2))

/////////////
///>>>>>>> comment mettre ma value ?

echo "\"".$val2["dpt_nom"]."\",";
           ?>"")
<? }
?>
   function changeliste() {
 choix=document.monform.listeA.value
      t="<select name='listeB'>"
      for(i=0;i<liste[choix].length-1;i++)


///>>>>>>> comment récupérer ma value ?  
 t+="<option>"+liste[choix][i]+"</option>"
      document.monform.listeB.outerHTML=t+"</select>"
   }
-->

</script>

<form name="monform">
<select name="listeA" onChange=changeliste()>
<option value=0>Choisit une liste</option>
<?
mysql_data_seek($result,0); // movefirst
while ($val = mysql_fetch_array($result)) {
?>
<? } mysql_close(); ?>
<?php
do { 
?>
<option value="<?php echo $row_list_pays['num_pays']?>"><?php echo $row_list_pays['pays']?></option>
<?php
} while ($row_list_pays = mysql_fetch_assoc($list_pays));
$rows = mysql_num_rows($list_pays);
if($rows > 0) {
mysql_data_seek($list_pays, 0);
$row_list_pays = mysql_fetch_assoc($list_pays);
}
?>
</select>
 
   <select name="listeB">
      <option>vide !</option>
   </select><br><br>
   <input type="Submit" value="Envoyer">
</form>
Puis regardez dans la barre d'adresses !
<br><br>

<?php
mysql_free_result($list_pays);
mysql_free_result($list_dpt);
?>


Merci

jeudi 6 janvier 2005 à 00:03:07 | Re : intéraction entre deux / trois listes déroulantes

Anthomicro

Comme tu mets <?php au lieu de <? (ce qui est mieux), autant le mettre partout...

a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)


Cette discussion est classée dans : liste, choix, trois, listes, déroulantes


Répondre à ce message

Sujets en rapport avec ce message

listes déroulantes liées [ par jenjen ] bonjour, je souhaite lier 2 listes déroulantes, ma première liste contient le nom de certaines tables que j'ai extrait de ma base de données et la sec Listes déroulantes dépendantes [ par TiCha ] Salut!J'ai un petit problème !Je travaille avec MySql. J'ai une liste déroulante qui affiche le noms des enseignants grâce à une requête du type : sel Listes déroulantes dépendantes [ par TiCha ] Salut!J'ai un petit problème !Je travaille avec MySql. J'ai une liste déroulante qui affiche le noms des enseignants grâce à une requête du type : sel Listes déroulantes liées/dépendantes [ par neosqual ] Bonjour à tous,Je développe actuellement un petit site gérant une base de données via mysql/php. J'utilise Dreamweaver MX et j'aurai voulu savoir comm Lier deux listes déroulantes mise à jour par BD [ par palpelune ] Bonjour,j'ai une page avec une liste déroulante qui est mise à jour par une base. Je voudrais pouvoir affiner les choix avec une deuxieme liste deroul Lier 2 listes déroulantes [TITRE MODERE CAR PEU EXPLICITE] [ par mitchbuck ] Salut la compagnie !Encore une fois je requiert votre aide pour un problème que certains n'auront surement pas de mal à règler en moins de deux !J'ai Liste déroulante [ par duodiscus ] salut tout le monde,bon je suis un peu embété, car je cherche à mettre à jour des listes déroulantes, les unes en fonction des autres.grâce à différen listes déroulantes [ par souani ] bonjour;)j'ai un petit probleme,comment lier 2 listes déroulantes dépondantes alimantées par une base de donnée mysql,tel que la premiere liste défin Listes déroulantes liées [ par martins13 ] Bonjour,Je travaille sur un développement de site internet et je voudrais sur mes pages avoir deux listes déroulantes qui sont liées.Alors la première liste deroulante liées [ par mickael56100 ] bonjour, je souhaiterais réaliser des listes déroulantes liées entre elles en fesant appel à une base de données mysql, tout cela en php, javascript,m


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales