2 COMBOS BOX LIÉES À UNE BDD AVEC DÉPENDANCE

cs_nash Messages postés 2 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 18 février 2003 - 18 févr. 2003 à 19:19
philo82 Messages postés 1 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 2 mars 2006 - 2 mars 2006 à 10:15
Le probléme est que je n'arrive pas à faire un formulaire avec 2 combos box dont la 2ème est initialisée selon la sélection effectuée dans la première. Les données proviennent d'une BDD.

A chaque modification de la première combo box, une requête est effectuée pour actualiser la seconde.

Le script existe déja en ASP à l'adresse suivante: http://www.aspfr.com/article.aspx?Val=113
mais je ne connait pas du tout ce language
donc vous seriez bien veillant si vous pouviez me filer un coup de main pour le traduire en php en utilisant le javascript qui est par ailleurs util à ce genre de programme.

lol-lol

2 réponses

cs_nash Messages postés 2 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 18 février 2003
18 févr. 2003 à 19:28
-------------------------------
Réponse au message :
-------------------------------

> Le probléme est que je n'arrive pas à faire un formulaire avec 2 combos box dont la 2ème est initialisée selon la sélection effectuée dans la première. Les données proviennent d'une BDD.
>
> A chaque modification de la première combo box, une requête est effectuée pour actualiser la seconde.
>
>
> Le script existe déja en ASP à l'adresse suivante: http://www.aspfr.com/article.aspx?Val=113
> mais je ne connait pas du tout ce language
> donc vous seriez bien veillant si vous pouviez me filer un coup de main pour le traduire en php en utilisant le javascript qui est par ailleurs util à ce genre de programme.
>
> lol-lol
0
philo82 Messages postés 1 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 2 mars 2006
2 mars 2006 à 10:15
Voila ce que j'ai fait pour remplir une combo en fonction du choix effectué dans une combo précedente (c'est un extrait, en fait j'ai 4 combo en cascade). Je pense que c'est lisible, mais je peux te donner la description des champs et des tables si c'est nécessaire.

</head>

<form name="calcul" method='post' action='combobox.php'>



<?php
echo affichType()
?>


</form>
<?php
function affichType()
{
$sql = "SELECT typ_lib FROM type ORDER BY typ_lib";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$choix = isset($_POST['type']) ? $_POST['type'] : "";


$type = "";
$type.="<select name='type'>";
$type.="<option value='default'> [-- Type d'articles --] </option>";
while($data = mysql_fetch_row($req))
{
for ($i=0;$i<count($data);$i++)
{ $selected $data[0] $choix ? " selected = """ : null;
$type.="<option value="".$data[0].""".$selected.">".$data[0]."</option>";
}
}


$type.="</select>";


$type.="
";


if (isSet($_POST['type'])&& $_POST['type'] != "default")
{
$type.= affichArt();
}
return $type;
}
function affichArt()
{
$choix = isset($_POST['article']) ? $_POST['article'] : "";
$type=$_POST['type'];
$sql = "SELECT typ_id FROM type WHERE typ_lib='".$type."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_row($req)){
$sql1 = "SELECT art_lib FROM article WHERE art_typ='".$data[0]."'GROUP BY art_lib";
$req1 = mysql_query($sql1) or die('Erreur SQL !
'.$sql1.'
'.mysql_error());
$article="";
$article.="<select name='article'>";
$article.="<option value='default'> [-- Article --] </option>";
while($data1 = mysql_fetch_row($req1))
{
for ($i=0;$i<count($data1);$i++)
{ $selected $data1[0] $choix ? " selected = """ : null;
$article.="<option value="".$data1[0].""". $selected .">".$data1[0]."</option>\n";
}
}
}


$article.="</select>
";
return $article;
}
0
Rejoignez-nous