Afficher le résultat d'un menu déroulant PHP

Mikesunshine Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Dans mon fichier PHP j'ai un code me permettant d'afficher un menu déroulant avec des statuts différents. Ces statuts proviennent d'une table de ma BDD. (voir code ci-dessous).

Quand j'affiche mon php et que je sélectionne un statut dans le menu déroulant, je souhaiterais afficher le résultat de ce statut en live. (Résultat se trouvant dans la même table)
Cela avec uniquement du code PHP.
<?php
$db = mysql_connect('IP', 'BDD', 'Motdepasse');
mysql_select_db('BDD',$db);
$req = mysql_query('SELECT * FROM STATUT ORDER BY NOM');
echo '<select name="STATUT">';
while ($data = mysql_fetch_assoc($req)) {
echo '<option value="'.htmlentities($data['NOMSTATUT']).'">'.$data['NOMSATUT'].' </option>';
}
echo '</select>';
mysql_close($db);
echo $data[RESULTAT];
?>



Pouvez vous m'aider ?

Merci d'avance,

Cordialement,

Michaël


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
A voir également:

3 réponses

tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
Tu peux faire ça en Javascript. Tu détectes lorsque le select change de valeur et la tu affiches les données que tu as chargé avec AJAX ou autre
0
Mikesunshine Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Tu sais comment je peux faire ?
Merci pour ton aide.
0
Mikesunshine Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai ajouté ce code PHP à la suite du premier code ci-dessus, mais cela m'affiche tous les résultats. Alors que je souhaiterais que cela affiche uniquement le résultat de ce que j'ai choisi dans la liste.

Quelqu'un pourrait m'aider ?

Merci,

<?php
$conn = mysql_connect('IP', 'BDD', 'Motdepasse');
if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
exit;
}
if (!mysql_select_db("BDD")) {
echo "Impossible de sélectionner la base BDD : " . mysql_error();
exit;
}
$sql = 'SELECT * FROM STATUT';
$result = mysql_query($sql);
if (!$result) {
echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "Aucune ligne trouvée, rien à afficher.";
exit;
}
while ($data = mysql_fetch_assoc($result)) {
echo $data['NOMSATUT'];
}
mysql_free_result($result);
?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
C'est normal si tu fais sélectionnes tout depuis la table statut... Il faut dire à mysql de rechercher que pour l'élément sélectionner avec un where
0
Mikesunshine Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Je dois mettre quoi ?
$sql = 'SELECT * FROM  STATUT WHERE NOMSTATUT = "???"';

Quand j'utilise $data['NOMSTATUT'] cela ne fonctionne pas.

Merci pour ton aide,

Michael

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
ça dépend quelle est la valeur de $data['NOMSTATUT']
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Pour récupérer la valeur selectionnée dans ta liste... il faut soit utiliser du JAVASCRIPT .. soit placer ta liste dans un FORM .... et faire un SUBMIT !

Hors.. je ne vois ni l'un ni l'autre dans ton code actuel....

PS : Pour détecter le changement en "live" d'une liste déroulante... il faut utiliser l'attribut ONCHANGE ... (et donc... du javascript avec ! )

A la limite, tu pourrais très bien t'orienter vers l'AJAX.
(en cherchant un minimum sur le net tu trouveras un très grand nombre d'exemples et d'explications disponibles sans trop de souci..)


0