Php/mysql et listes déroulantes

Fermé
neg12 Messages postés 4 Date d'inscription jeudi 30 décembre 2010 Statut Membre Dernière intervention 18 octobre 2011 - 30 déc. 2010 à 12:21
Bonjour,

Étant coincé dans un script php/mysql, j'ai besoin d'un petit coup de main.

Je cherche à faire un script me permettant d'afficher une liste d'attributs dans un tableau lors d'une sélection dans deux listes déroulantes.

C'est deux listes sont alimentées via des requêtes mysql.

Une me donne une liste de sites et l'autre une liste de départements (département de travail).

Pour cela je n'ai pas de problème, j'ai pu le faire avec quelques exemples trouvés sur le web.

Mon problème est pour l'affichage des attributs.
je voudrais récupérer le résultat des sélections dans chaque liste pour faire une requête mysql qui me récupère les attributs correspondants.

exemple: je sélectionne paris dans la liste site et commercial dans la liste département, et je veux faire une requête mysql pour récupérer la liste d'attributs correspondant aux commerciaux du site paris.

J'ai recherché longuement des exemples pouvant m'aider, mais étant totalement débutant en php je galère vraiment.
J'ai vu également plusieurs solutions en javascript mais je ne suis pas doué non plus.


Donc si une âme charitable peux m'aider, je l'en remercie d'avance.



Voici mon code:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>"titre"</title>
<style type="text/css">
<!--
"mon css"
//-->
</style>
</head>
<body>

<?php
$host = '*****';
$user = '*****';
$pass = '*****';
$db] = '*****';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());


// liste déroulante, récupère la liste des sites
echo '<select size=1 name="site">'."\n"; 
echo '<option value="-1" selected>Choose a Site: <option>'."\n"; 
   
$resultat=mysql_query("SELECT distinct site FROM "ma_table" ORDER BY site" ) or die ("requète non executé" );
 if (! $resultat) { echo "Error"; exit;}
 while ($ligne=mysql_fetch_array($resultat))
 {
 ?>
 <option><?php echo ''.$ligne['site'].'';?> </option>
 <?php
 }
echo '</select>'."\n"; 


// liste déroulante, récupère la liste des départements
echo '<select size=1 name="dep">'."\n"; 
echo '<option value="-1" selected>Choose a Department: <option>'."\n"; 
   
$resultat=mysql_query("SELECT distinct dept FROM "mon_autre_table" ORDER BY dept" ) or die ("requète non executé" );
 if (! $resultat) { echo "Error"; exit;}
 while ($ligne=mysql_fetch_array($resultat))
 {
 ?>
 <option><?php echo ''.$ligne['dept'].'';?> </option>
 <?php
 }
echo '</select>'."<br>\n"; 


// requête qui liste les attribus via la sélection dans les deux listes
$select = 'select attributs from "ma_table_d'attributs" where site="$site" and dept="$dept" and attribut_type="1"';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);


// si on a récupéré un résultat on l'affiche.
if($total) {
    // début du tableau
    echo '<table>'."\n";
        // première ligne affichage du titre
        echo '<tr>';
        echo '<td class="tdtitle">"titre":&nbsp</td>';
        echo '</tr>'."\n";
    // lecture et affichage des résultats
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td class="data">'.$row['attribut'].'</td>';
        echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result);

mysql_close($link);

?>

</body>
</html>  








A voir également: