Liste deroulante dynamique php avc base MYSQL
Mirrix
Messages postés
5
Statut
Membre
-
AssassinTourist Messages postés 7838 Statut Contributeur -
AssassinTourist Messages postés 7838 Statut Contributeur -
Bonjour
Alors voila, j'ai une base de donnée avec une table. Cette table possède plusieurs champs et j'aimerai faire plusieurs liste deroulante, l'une dependant de la precedante. Les données de la liste deroulante sont a prendre dans la base de donnée.
J'aimerais savoir comment faire, car j'ai regardé partout sur le net et a chaque fois c'est une base de donnée avec 2 tables, pas une seule.
Peut etre que c'est plus facile dans mon cas mais j'ai pas trouvé.
J'ai vu que c'etait possible avec AJAX mais bon je sais pas trop.
Merci d'avance.
PS : Voila mon code pour le moment :
<!-- Liste deroulante MYSQL -->
<FORM method="post" action="cible2.php">
<SELECT name="liste_materiel">
<?php
$host = "127.0.0.1";
$user = "Benoit";
$pass = "xxxx";
$bdd = "config_reseaux";
// connexion
$cnx = mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
$db = mysql_select_db("$bdd") or die("Impossible de se connecter");
if (mysql_connect ($host,$user,$pass))
{
echo 'Connexion réussie'; echo '<br>';
}
else
{
echo 'Connexion impossible...'.mysql_error(); echo '<br>';
}
$requete2="SELECT DISTINCT type_materiel FROM bdd";
$result2=mysql_query($requete2);
while ($ligne=mysql_fetch_array($result2))
{
echo '<OPTION VALUE="'.$ligne["type_materiel"].'">'.$ligne["type_materiel"].'</OPTION>';
}
?>
</SELECT>
<input type="submit" value="Valider" />
</FORM>
Apres en cliquant sur valider j'ouvre une nouvelle page similaire ou il y le meme code sauf que je change la selection dans ma base de donnée
<!-- Liste deroulante MYSQL -->
<FORM method="post" action="cible2.php">
<SELECT name="liste_lieu">
<?php
$host = "127.0.0.1";
$user = "Benoit";
$pass = "xxxx";
$bdd = "config_reseaux";
$liste_materiel = $_POST["liste_materiel"] ;
// connexion
$cnx = mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
$db = mysql_select_db("$bdd") or die("Impossible de se connecter");
if (mysql_connect ($host,$user,$pass))
{
echo 'Connexion réussie'; echo '<br>';
}
else
{
echo 'Connexion impossible...'.mysql_error(); echo '<br>';
}
$requete2="SELECT DISTINCT lieu FROM bdd WHERE type_materiel = '$liste_materiel'";
$result2=mysql_query($requete2);
while ($ligne=mysql_fetch_array($result2))
{
echo '<OPTION VALUE="'.$ligne["lieu"].'">'.$ligne["lieu"].'</OPTION>';
}
?>
</SELECT>
<input type="submit" value="Valider" />
</FORM>
Alors voila, j'ai une base de donnée avec une table. Cette table possède plusieurs champs et j'aimerai faire plusieurs liste deroulante, l'une dependant de la precedante. Les données de la liste deroulante sont a prendre dans la base de donnée.
J'aimerais savoir comment faire, car j'ai regardé partout sur le net et a chaque fois c'est une base de donnée avec 2 tables, pas une seule.
Peut etre que c'est plus facile dans mon cas mais j'ai pas trouvé.
J'ai vu que c'etait possible avec AJAX mais bon je sais pas trop.
Merci d'avance.
PS : Voila mon code pour le moment :
<!-- Liste deroulante MYSQL -->
<FORM method="post" action="cible2.php">
<SELECT name="liste_materiel">
<?php
$host = "127.0.0.1";
$user = "Benoit";
$pass = "xxxx";
$bdd = "config_reseaux";
// connexion
$cnx = mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
$db = mysql_select_db("$bdd") or die("Impossible de se connecter");
if (mysql_connect ($host,$user,$pass))
{
echo 'Connexion réussie'; echo '<br>';
}
else
{
echo 'Connexion impossible...'.mysql_error(); echo '<br>';
}
$requete2="SELECT DISTINCT type_materiel FROM bdd";
$result2=mysql_query($requete2);
while ($ligne=mysql_fetch_array($result2))
{
echo '<OPTION VALUE="'.$ligne["type_materiel"].'">'.$ligne["type_materiel"].'</OPTION>';
}
?>
</SELECT>
<input type="submit" value="Valider" />
</FORM>
Apres en cliquant sur valider j'ouvre une nouvelle page similaire ou il y le meme code sauf que je change la selection dans ma base de donnée
<!-- Liste deroulante MYSQL -->
<FORM method="post" action="cible2.php">
<SELECT name="liste_lieu">
<?php
$host = "127.0.0.1";
$user = "Benoit";
$pass = "xxxx";
$bdd = "config_reseaux";
$liste_materiel = $_POST["liste_materiel"] ;
// connexion
$cnx = mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
$db = mysql_select_db("$bdd") or die("Impossible de se connecter");
if (mysql_connect ($host,$user,$pass))
{
echo 'Connexion réussie'; echo '<br>';
}
else
{
echo 'Connexion impossible...'.mysql_error(); echo '<br>';
}
$requete2="SELECT DISTINCT lieu FROM bdd WHERE type_materiel = '$liste_materiel'";
$result2=mysql_query($requete2);
while ($ligne=mysql_fetch_array($result2))
{
echo '<OPTION VALUE="'.$ligne["lieu"].'">'.$ligne["lieu"].'</OPTION>';
}
?>
</SELECT>
<input type="submit" value="Valider" />
</FORM>
A voir également:
- Liste deroulante dynamique php avc base MYSQL
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Tableau croisé dynamique - Guide
- Base de registre - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique