2 Select liés ensemble

cs_folkene Messages postés 3 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 28 mai 2007 - 28 mai 2007 à 09:50
cs_folkene Messages postés 3 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 28 mai 2007 - 28 mai 2007 à 11:45
Voila je me suis un peu inspirer de ce que j'ai trouvé sur ce forum, je l'ai modifié mais je l'ai mal fait, resultat mes tableau se créent bien, mes fonction s'affiche bien dans le code source mais rien dans le 2eme select je vous prie de bioen vouloir m'aider...
Voila le code source:

<script language="JavaScript" type="text/JavaScript">
<? $query="select * from _domaine order by id asc";
$result=mysql_query($query);
echo "var mod=new Array();";
while($array = mysql_fetch_array($result))
{    $tableau ."mod[".$array['id']."] new Array(";    $query "select * from _formation_list where id_domaine ".$array['id']." order by id";
    $result2 = mysql_query($query);
    while($array2 = mysql_fetch_array($result2))
        $tableau.= ", ".$array2['fr'];
    $tableau .= ");\n";    $tableau ."mod2[".$array['id']."] new Array(";    $query "select * from _formation_list where id_domaine ".$array['id']." order by id";
    $result2 = mysql_query($query);
    while($array2 = mysql_fetch_array($result2))
        $tableau.= ", ".$array2['id'];
    $tableau .= ");\n";
}
$tableau = str_replace('(,','(',$tableau);
echo $tableau
?>
function updateMod()
{
var newOpt;
var cl_=frm._domaine.value;
clearMod();
newOpt=new Option("Formation", 0);
frm._formation_list.options[0]=newOpt;
if (cl_!=0)
{
for (i_=0; i_<mod[cl_].length; i_++)
{
newOpt=new Option(mod[cl_][i_], mod2[cl_][i_]);
frm._formation_list.options[frm._formation_list.length]=newOpt;
}
}
}

function clearMod()
{

while (frm._formation_list.options.length>0)
frm._formation_list.options[frm._formation_list.options.length-1]=null;
}
</script>
<form name="frm"method="GET">

<SELECT NAME="_domaine" onChange='updateMod()'>
<option value=0>Tous les domaines</option>
<option value="1">Restauration</option>
</SELECT>

<SELECT NAME="_formation_list">
</SELECT>
</form>

voila j'espere que vous allez pouvoir m'aider au plus vite merci

4 réponses

cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 mai 2007 à 10:51
amical Bonjour à toi aussi,

au plus vite ?      en plus ? pas exigeant, non, non...

et nous quoi qu'on fait avec ça : <? $query= "select * from _domaine order by id asc"; ???
on aurait-y _domaine sans que je le sache ?
donnes nous la page générée ( un extrait ! ), pas le php.



et tu as un message d'erreur ?








|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
| Avec | et mieux : <label style ="color: rgb(0, 128, 0);">Télécharger</label> |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
|<label style= "color: rgb(128, 0, 0);">FireFox</label> |regarder la "console d'erreurs" | FireBug |
| | Outils / Console d'erreurs | |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
|<label style= "color: rgb(128, 0, 0);">Internet Explorer</label>|activer le deboggage : utils/options I le Debogger IE|
| | dans la liste, sous "Navigation" : décocher | |
| | ° Afficher une notification de chaque erreur de script | |
| | ° Désactiver le débogage de Scripts (autres applications)| |
| | ° Désactiver le débogage de Scripts (Internet Explorer) | |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|




par exemple pour ajouter
( en fin ) :

       select.length++;
       select.options[
select.length-1
].text ="texte visible";

       select.options[
select.length-1
].value="value cachée";








<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 mai 2007 à 11:07
et si c'est l'histoire des select liés entr'eux,
de nombreuses questions ( donc réponses ) au sujet
une petite recherche aurait permis de les voir ces réponses
et de trouver des exemples, comme ici : http://codyx.org/snippet_listes-deroulantes-liees_89.aspx
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]<hr />
0
cs_folkene Messages postés 3 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 28 mai 2007
28 mai 2007 à 11:42
Merci de m'avoir montrer ce que site, je l'ai d'ailleur bien regarder, tester le source mais je voudrai savoir comment je rajoute le value.
Et pour mon code je n'ai eu aucun message d'erreur, donc je ne voi pas ou sa ne fonctionne pas. Meme mieu les tableaus que je crée en JS
s'affiche correctement lorsque j'affiche la source
0
cs_folkene Messages postés 3 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 28 mai 2007
28 mai 2007 à 11:45
var mod=new Array();
mod[1] = new Array( La gestion d'un hôtel, Plan de maîtrise sanitaire);
function updateMod()
{
var newOpt;
var cl_=frm._domaine.value;
clearMod();
newOpt=new Option("Formation", 0);
frm._formation_list.options[0]=newOpt;
if (cl_!=0)
{
for (i_=0; i_<mod[cl_].length; i_++)
{
newOpt=new Option(mod[cl_][i_], mod[cl_][i_]);
frm._formation_list.options[frm._formation_list.length]=newOpt;
}
}
}

function clearMod()
{

while (frm._formation_list.options.length>0)
frm._formation_list.options[frm._formation_list.options.length-1]=null;
}

</script>

<form name="frm" action="index.php" method="GET"><table width="100%"><tr><td><SELECT NAME="_domaine" onChange='updateMod()' class="select">
<option value=0>Tous les domaines</option>
<option value="1"><span class="text_input">Restauration</span></option>
</SELECT>
</td><td><SELECT NAME="_formation_list"></SELECT>

//Bon je n'ai pas copier la suite car je ne ferme que les balise ouverte précédemment
0
Rejoignez-nous