par
Invité » 26 juin 2008, 15:35
Bonjour,
Je pensais pouvoir trouver des exemples de combobox javascript/php facilement, mais non ! Alors je me tourne vers vous ! pourtant ça doit être très courant comme script !
Je voudrais "simplement" créer une double liste déroulante (type combobox).
Je m'explique très clairement :
L'internaute choisit un élément dans une liste déroulante (éléments provenant d'une table mysql)
DOMAINE_1
DOMAINE_2
DOMAINE_3
En fonction de son choix, par exemple DOMAINE_2, une 2eme liste déroulante se charge avec les données correspondantes au "DOMAINE_2" :
DOMAINE_2_FONCTION_1
DOMAINE_2_FONCTION_2
DOMAINE_2_FONCTION_3
J'utilise un combobox javascript sans liaison avec base de données, que j'essaire d'adapter, mais ça coince de tous les côtés et je n'en vois pas le bout...
EXISTE T IL UN SCRIPT PRET A L EMPLOI POURFAIRE CELA SVP ???
MERCI !!!!!
Emmanuel B
Pour la 1ère liste j'avais ça :
Code : Tout sélectionner
print ("<select name='domaine' size='1' id='select' onChange='redirect(this.options.selectedIndex)'>");
print "<option selected></option>";
// recherche des domaines
$requete2= "SELECT * FROM track_AC_profils ORDER BY domaine ";
$resultat2=mysql_query($requete2,$dbc);
while (($ligne2=mysql_fetch_object($resultat2)) !=0)
{
if (($domaine_deja_aff) != $ligne2->domaine)
{ print ("<option>$ligne2->domaine</option>"); }
$domaine_deja_aff = $ligne2->domaine;
}
print ("</select>
2ème liste qui ne marche pas du tout !
Code : Tout sélectionner
<?
echo ' <script language="JavaScript">
//
var groups=document.doublecombo.domaine.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("")
// insert recherche des domaines
$dbc=mysql_connect ("sql1","firstfinbasite","vXm0AMdK"); // on se connecte à MySQL
mysql_select_db ("firstfinbasite",$dbc); // on sélectionne la base
$requete= ("SELECT * FROM track_AC_profils WHERE domaine =\"ASSET MANAGEMENT\" ");
$resultat=mysql_query($requete,$dbc);
while (($ligne=mysql_fetch_object($resultat)) !=0)
{
$i = 0;
$print ("group[1][$i]=new Option(\"$ligne->fonction\",\"$ligne->fonction\") ");
}
mysql_close($dbc);
var temp=document.doublecombo.fonction
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
var location=temp.options[temp.selectedIndex].value
}
</script>';
?>
[/list]
Bonjour,
Je pensais pouvoir trouver des exemples de combobox javascript/php facilement, mais non ! Alors je me tourne vers vous ! pourtant ça doit être très courant comme script !
Je voudrais "simplement" créer une double liste déroulante (type combobox).
Je m'explique très clairement :
L'internaute choisit un élément dans une liste déroulante (éléments provenant d'une table mysql)
DOMAINE_1
DOMAINE_2
DOMAINE_3
En fonction de son choix, par exemple DOMAINE_2, une 2eme liste déroulante se charge avec les données correspondantes au "DOMAINE_2" :
DOMAINE_2_FONCTION_1
DOMAINE_2_FONCTION_2
DOMAINE_2_FONCTION_3
J'utilise un combobox javascript sans liaison avec base de données, que j'essaire d'adapter, mais ça coince de tous les côtés et je n'en vois pas le bout...
EXISTE T IL UN SCRIPT PRET A L EMPLOI POURFAIRE CELA SVP ???
MERCI !!!!!
Emmanuel B
Pour la 1ère liste j'avais ça :
[code]
print ("<select name='domaine' size='1' id='select' onChange='redirect(this.options.selectedIndex)'>");
print "<option selected></option>";
// recherche des domaines
$requete2= "SELECT * FROM track_AC_profils ORDER BY domaine ";
$resultat2=mysql_query($requete2,$dbc);
while (($ligne2=mysql_fetch_object($resultat2)) !=0)
{
if (($domaine_deja_aff) != $ligne2->domaine)
{ print ("<option>$ligne2->domaine</option>"); }
$domaine_deja_aff = $ligne2->domaine;
}
print ("</select>
[/code]
2ème liste qui ne marche pas du tout !
[code]<?
echo ' <script language="JavaScript">
//
var groups=document.doublecombo.domaine.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("")
// insert recherche des domaines
$dbc=mysql_connect ("sql1","firstfinbasite","vXm0AMdK"); // on se connecte à MySQL
mysql_select_db ("firstfinbasite",$dbc); // on sélectionne la base
$requete= ("SELECT * FROM track_AC_profils WHERE domaine =\"ASSET MANAGEMENT\" ");
$resultat=mysql_query($requete,$dbc);
while (($ligne=mysql_fetch_object($resultat)) !=0)
{
$i = 0;
$print ("group[1][$i]=new Option(\"$ligne->fonction\",\"$ligne->fonction\") ");
}
mysql_close($dbc);
var temp=document.doublecombo.fonction
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
var location=temp.options[temp.selectedIndex].value
}
</script>';
?>
[/code][/list]