menu deroulent mysql

horju

Nouveau membre
bonjour je fais un menu deroulent avec dans la lisste les valeurs d' un champ d'une base de donne mysql
voici le code



---------------------
Voir messages suivants






 

BennyHeal

Shérif
Vous devez être connecté pour voir les images.


(EDIT BY MODO: Puisque le monsieur a corrigé son erreur sur tes bons conseils, je change le méchant smiley :balisecodeppc: par le gentil :balisecodeppc_ok: ;) )
 

marsien

Grand Maître

C'est pas très grave, tant que c'est en local... Mais après :D

Sinon, dans l'état, ton code est illisaible Horju. Edite ton message et met fon code entre les balises qui vont bien

[cpp]
Code:
...
[/cpp] (accessible en cliquant sur le bouton "+ d'options")

[:edit] : grillé par benny :D
 

horju

Nouveau membre
bonjour

voici le code ;:



Code:
<h3><font color="#6633FF">1 les pathologies associées a un Retard Mentaux</h3> 

<form method="post" action="2-1-3requete-dianostic.php3" > 
<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selectionner une option : 
</p> 
<p align="center"><select name="variable_choisi">Choissiez votre option: 
<option selected value=""> ---------- Séléction ---------- 






<? 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'root', ''); 

// on séléctionne la base 
mysql_select_db('biomol',$db); 
$choix = $_POST['choix']; 

// on créer la requete SQL et on l'envoie 
$sql = ("SELECT Examens FROM diagnostic " ); 

// on envoie la requete 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 


while($row = mysql_fetch_array($req)) 
{ if($choix==$row[Nom]) 
echo "<option selected>".$row[Nom]."</option>"; 
else 
echo "<option>".$row[Nom]."</option>"; 
$v=$row[Nom]; 

} 
mysql_close(); 
?> 

</select> 
<input type="submit" 
value="Pour choisir."></p> 
</form> 



<h3>

la valeur ne s'affiche pas dans lla liste
il appaarait ce coode;.$sql.'<br>'.mysql_error());


while($row = mysql_fetch_array($req))
{ if($choix==$row[Nom])
merci julie




 

horju

Nouveau membre
bonjour je fais un menu deroulent avec dans la lisste les valeurs d' un champ d'une base de donne mysql
voici le code
---------------------
Code:
...

<h3><font color="#6633FF">1 les pathologies associées a un Retard Mentaux</h3> <form method="post" action="2-1-3requete-dianostic.php3" > <p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selectionner une option : </p> <p align="center"><select name="variable_choisi">Choissiez votre option: <option selected value=""> ---------- Séléction ---------- <? // on se connecte à MySQL $db = mysql_connect('localhost', 'root', ''); // on séléctionne la base mysql_select_db('biomol',$db); $choix = $_POST['choix']; // on créer la requete SQL et on l'envoie $sql = ("SELECT Examens FROM diagnostic " ); // on envoie la requete $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($row = mysql_fetch_array($req)) { if($choix==$row[Nom]) echo "<option selected>".$row[Nom]."</option>"; else echo "<option>".$row[Nom]."</option>"; $v=$row[Nom]; } mysql_close(); ?> </select> <input type="submit" value="Pour choisir."></p> </form> <h3>
²21Code :
<h3><font color="#6633FF">1 les pathologies associées a un Retard Mentaux</h3>
<form method="post" action="2-1-3requete-dianostic.php3" >
<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selectionner une option :
</p>
<p align="center"><select name="variable_choisi">Choissiez votre option:
<option selected value=""> ---------- Séléction ----------
<?
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'root', '');
// on séléctionne la base 
mysql_select_db('biomol',$db);
$choix = $_POST['choix'];
// on créer la requete SQL et on l'envoie 
$sql = ("SELECT Examens FROM diagnostic " );
// on envoie la requete 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($row = mysql_fetch_array($req))
{ if($choix==$row[Nom])
echo "<option selected>".$row[Examens]."</option>";
else
echo "<option>".$row[Examens]."</option>";
$v=$row[Nom];
}
mysql_close();
?>
</select>
<input type="submit"
value="Pour choisir."></p>
</form>
<h3>
la valeur ne s'affiche pas dans lla liste
il appaarait ce coode;.$sql.'<br>'.mysql_error());


while($row = mysql_fetch_array($req))
{ if($choix==$row[Nom])

COMMENT PUIS JE FAIR ?
merci julie
 

marsien

Grand Maître
Pourrais-tu essayer d'être plus claire, tant dans ton code, que dans tes explications sur le problème... C'est vraiment très dur de te suivre. Pourquoi dans ton dernier code, il y a 2 fois la même chose présenté différemment ??? Et que vient faire ce bout de code en fin de ton post, sans relation avec ta demande ?

En fouillant quand même ce que j'ai pu dans ton code, je vois que tu fais allusion à une variable $row['Nom'], sensé provenir des résultats de ta requête MySQL. Or dans ta requête, il n'est pas mentionné que tu récupères les infos d'un quelconque champ 'Nom'. C'est peut-être à l'origine du problème que tu as.
 

horju

Nouveau membre
bonjour merci bcp
j'ai ete eturdie ,j'ai changé nom" par examens " mais j'ai la même erreur.
je crée le site d'un regroupement de laboratoires et de services medicau d'un hôpital, je dois fair apparraitre une liste de diagnostics. l'utilisateur devra
choisir un diagnostic dans la liste pour obtenir des info sur ce diagnostic
dans ma base il exite une table diagnostic aavecv ces atributs : exament,,, Type_patho, Nature_diagnostic, Heures,
Mentions_spécifiques, Réalisation_de_analys
j'aimerai que dans ma liste apparaissent tous les examens et- que les autres attribus s'affichent dans la page suivente c'est à dire 2-1-3requete-dianostic.php3



²21Code :
<h3><font color="#6633FF">1 les pathologies associées a un Retard Mentaux</h3>
<form method="post" action="2-1-3requete-dianostic.php3" >
<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selectionner une option :
</p>
<p align="center"><select name="variable_choisi">Choissiez votre option:
<option selected value=""> ---------- Séléction ----------
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on séléctionne la base
mysql_select_db('biomol',$db);
$choix = $_POST['choix'];

$sql = ("SELECT Examens FROM diagnostic " );

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($row = mysql_fetch_array($req))
{ if($choix==$row[ Examens ])
echo "<option selected>".$row[Examens]."</option>";
else
echo "<option>".$row[Examens]."</option>";
mysql_close();
?>
</select>
<input type="submit"
value="Pour choisir."></p>
</form>
<h3>

[/code]
la valeur ne s'affiche pas dans lla liste
MYSQL me revois l'erreur suivante

SQL !<br>'.$sql.'<br>'.mysql_error()); while($row = mysql_fetch_array($req)){ if($choix==$row[ Examens ])
et dans la liste
"$row[Examens]"
merci julie

 

marsien

Grand Maître
Je ne sais pas si ça peut venir de là, mais dans ton code tu as une erreur : ce n'est pas $rows[Examens], mais $rows['Examens'] (avec les guillemets simples autour de Examens).

Et c'est la dernière fois que je me tue les yeux à lire ton post pour te répondre. Utilise ces put**** de balises code :fou: , tu sais le faire et c'est vraiment plus facile pour ceux qui veulent t'aider ! De même prends le temps de relire ce que tu écris, c'est limite du charabia... :pfff:
 

zeb

Modérateur
(Marsien, je te propose de ne plus répondre à ce môssieur tant qu'il ne fera pas un effort.)
 

horju

Nouveau membre
bonjour merci encore marsein
j'ai un handicape moteur avec des problèmes de coordination
excuse moi pour mon charabia
mon code ne fonction pas même avec les simples guillemets

Code:
<h3><font color="#6633FF">1 les pathologies associées a un Retard Mentaux</h3>
<form method="post" action="2-1-3requete-dianostic.php3" >
<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selectionner une option :
</p>
<p align="center"><select name="variable_choisi">Choissiez votre option:
<option selected value=""> ---------- Séléction ----------
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on séléctionne la base
mysql_select_db('biomol',$db);
$choix = $_POST['choix'];

$sql = ("SELECT Examens FROM diagnostic " );

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($row = mysql_fetch_array($req))
{ if($choix==$row['Examens'])
echo "<option selected>".$row['Examens']."</option>";
else
echo "<option>".$row['Examens']."</option>";
mysql_close();
?>
</select>
<input type="submit"
value="Pour choisir."></p>
</form>
<h3>
la valeur ne s'affiche pas dans lla liste
MYSQL me revois l'erreur suivante

SQL !<br>'.$sql.'<br>'.mysql_error()); while($row = mysql_fetch_array($req)){ if($choix==$row['Examens'])
et dans la liste
"$row['Examens']"
merci julie
 

marsien

Grand Maître
Pas de souci Horju. C'est juste qu'il était difficile (voire impossible) de t'aider, car on ne comprenait rien à ce que tu demandais et à ce que tu mettais comme code... Et il existe tellement d'"handicapés" du clavier qui traînent sur les forum, alors ça m'a énervé... de ne pas pouvoir t'aider faute de comprendre ta demande :D

Ton dernier post est beaucoup plus clair. J'ai effectué quelques corrections dans ton code (avec des commentaires numérotés dedans pour t'aider à trouver ce que j'ai changé).
[cpp]<h3><font color="#6633FF">1 les pathologies associées a un Retard Mentaux</h3>

<form method="post" action="2-1-3requete-dianostic.php3" >
<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selectionner une option :</p>
<p align="center">
<select name="variable_choisi">Choissiez votre option:
<option selected value=""> ---------- Séléction ----------</option> <!-- 1. oubli de la fermeture de la balise option -->

<?php // 2. il est fortement recommandé de définir le type de script inséré dans une page html (ici php) à l'ouverture du script
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on séléctionne la base
mysql_select_db('biomol',$db);

$choix = $_POST['choix'];

$sql = ("SELECT Examens FROM diagnostic " );

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($row = mysql_fetch_array($req))
{
if($choix==$row['Examens']) //3. ci-dessous, tu ne définis pas de value pour tes balises option, de fait ton select sera inutile ;-)
echo "<option selected>".$row['Examens']."</option>";
else
echo "<option>".$row['Examens']."</option>";
} //4. tu n'avais pas fermé la boucle while
mysql_close();
?>

</select>

<input type="submit" value="Pour choisir.">
</p>
</form>

<h3>[/cpp]

Tiens-nous au courant
:hello:
 

horju

Nouveau membre
coucou mon code marche merci beaucoup
par contre quand je choisi une valeur ds ma liste et que je valiide le second code ne marche pas
je te poste les 2 codes


PREMIRER CO0DE/ 2-1dianostics2.PHP3
<CODE>
<html>

<h3><font color="#6633FF">1 Les pathologies associées a un retard mental</h3>
</font> <h2><font color="#FFFFCC"> LES RECHERCHES </font><font color="#FFFFCC"></font></h2> <h2><font color="#FFFFCC"> LES ACTIVITEES</font><font color="#FFFFCC"></font></h2>
<h3><font color="#FFFFCC">1 les themes de recherches</h3>

<form method="post" action="2-1dianosticsc1resulta.php3" ><select name="variable_choisi">Choissiez votre option:
<option selected value=""> ---------- Séléction -------------</option>





<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on séléctionne la base
mysql_select_db('biomol',$db);

// on créer la requete SQL et on l'envoie
$sql =("SELECT Examens FROM diagnostics1");

// on envoie la requete
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


while($row = mysql_fetch_array($req))
{ if($choix==$row['Examens'])

echo "<option selected>".$row['Examens']."</option>";
else
echo "<option>".$row['Examens']."</option>";
} }

?>
mysql_close();

</select>
<input type="submit"
value="Pour choisir."></p>
</form>
</td></table>

</body>
</html>




</CODE>

SECOND CODE :2-1dianosticsc1resulta.php3

<CODE>

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on séléctionne la base
mysql_select_db('biomol',$db);


$sql = "SELECT labo_diagnostic, Examens, Type_patho, Nature_diagnostic, Heures,
Mentions_spécifiques, Réalisation_de_analyse FROM diagnostics1 WHERE Examens='$variable_choisi'";

$result_articles = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


print ('<table width=100% border=0>');
while($donnees =mysql_fetch_object($result_articles))
{

print("

<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$donnees->labo_diagnostic<td/>

");
}
print ('</table>');


?>




</body>
</html>





</CODE>

merci bcp julie

En ligne

 

zeb

Modérateur
:pfff: Horju, tu le fais exprès ! [:zeb:4]
En bas à droite de ton message, clique sur l'une des icônes représentant une feuille et un éclair et mets ton code en conformité avec le règlement !!!!!!!!!!

[:zeb:6]
 

marsien

Grand Maître
A première vu, dans ton code il manque la déclaration de $variable_choisie. Les variables gobales ne sont souvent plus activées par défaut dans PHP... Il faut donc que tu la remplace par $_POST['variable_choisie'].

Dans la création de ton tableau html, tu as oublié les lignes (balises <tr> et </tr>).

Pour la balise code dans tes messages, c'est
Code:
 et non <code> ;)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 079
Messages
6 716 705
Membres
1 586 247
Dernier membre
MrAzgarIII
Partager cette page
Haut