Bonjour,
j'ai une problème, je veux faire focntionner le code qui suit qui consiste a afficher le contenu d'une liste déroulante selon les valeurs d'une autre sans recharger la page web.
voici le code
on suppose une tables "serveur":
CREATE TABLE serveur (
IP_privee varchar(20) NOT NULL,
IP_publique varchar(20),
login varchar(20),
nom_machine varchar(20),
password varchar (20),
SE varchar (20),
taille_disque varchar (20),
taille_ram varchar (20),
version_SE varchar (20),
fichier_oid varchar (30),
PRIMARY KEY (IP_privee)
);
************************************************************************
et on a ce code php qui permet d'afficher les nom_machine existantes dans la table dans une liste déroulante, et puis d'afficher l'IP_privee dans la seconde liste déroulante selon le choix de la première:
*****************************liste.php***********************
<html>
<body>
<?
include("/var/www/pfe/params.inc.php"); /*ficher contenant le $login,$mdp et $hote et $bd*/
$table="serveur";
$connexion = mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
$nomchamp="nom_machine";
$requete = "select $nomchamp from $table";
$resultat = mysql_query($requete, $connexion);
/* affichage du composant HTML */?>
<form action="liste.php" method="post">
<select name='host_id' onchange="submit();">
<?
while ($ligne = mysql_fetch_array($resultat))
{
if(isset($_POST['host_id']) && $_POST['host_id']== $ligne['nom_machine'])
{
echo '<option selected="">';
}else{
echo '<option>';
}
echo $ligne['nom_machine'].'</option>';
}
?>
</select>
<?
$var = $_POST["host_id"];
$rs = mysql_query("select IP_privee from serveur where nom_machine='$var'");
$resultat = mysql_query($rs, $connexion);?>
<select name='host'>
<?
if (isset($var))
{
while ($ligne = mysql_fetch_array($res))
{echo '<option>';
echo $ligne['IP_privee'].'</option>';
}
}
?>
</form>
</body>
</html>
Comment faire pour éviter le rechargement de page
aidez moi svp
merci
Partager