Requête php/mysql menu déroulant
alban270
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
alban270 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
alban270 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
J'ai besoin d'un peu d'aide concernant l'affichage d'une requête, réponse à un menu déroulant.
Deux éléments me causent souci.
1- Le menu déroulant s'affiche mais contient plusieurs fois le nom du même auteur.
2- Je n'obtiens à l'affichage qu'un titre au lieu de la liste complète des titres de l'auteur.
Aucun affichage d'erreur du serveur.
Il doit manquer quelque chose quelquepart, probablement mais je ne trouve pas.
Voici le code source :
<?php
// ouverture base
mysql_connect("localhost", "root", "");
mysql_select_db("livres");
// menu déroulant sélection sur l'auteur *********************
echo '<p> Affichage des choix :</p>';
echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
echo ' <select name="choix" id="menu" style="font-family:arial;" style="font-size:11px;" >';
$resultat=mysql_query("select NOMAUT from livres") or die ("Requête non executée.");
while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne["NOMAUT"].'</option>';
}
echo '</select>';
echo '<input type="submit" style="font-family:arial;" style="font-size:11px;" value="Afficher" name="go">';
echo '</form>';
//si bouton submit cliqué
if(isset($_GET['go'])){
// verification valeur get existante
if(!$_GET['choix']){
exit;
}
//si existe
else{
//exploitation variable $choix dans une requête
$choix = $_GET['choix'];
//
//// requête
$resultat2 = mysql_query("SELECT * FROM livres WHERE NOMAUT='".$choix."'") or die ("Requête non executée.");
$ligne2 = mysql_fetch_array($resultat2);
{
?>
// Affichage sous forme de tableau
<?php echo "<div align=\"center\"><center>
<table border=\"1\" >
<tr>
<td width=100 align=left >"; ?>
<?php echo $ligne2['NOMAUT'];?>
<?php echo "</td>
<td width=200 align=left>"; ?>
<?php echo $ligne2['TITRE'] ;?>
<?php echo "</td>
</table>
</center></div>"; ?>
<?php
}
mysql_close();
}
}
?>
********************
Par avance, merci.
Alban.
J'ai besoin d'un peu d'aide concernant l'affichage d'une requête, réponse à un menu déroulant.
Deux éléments me causent souci.
1- Le menu déroulant s'affiche mais contient plusieurs fois le nom du même auteur.
2- Je n'obtiens à l'affichage qu'un titre au lieu de la liste complète des titres de l'auteur.
Aucun affichage d'erreur du serveur.
Il doit manquer quelque chose quelquepart, probablement mais je ne trouve pas.
Voici le code source :
<?php
// ouverture base
mysql_connect("localhost", "root", "");
mysql_select_db("livres");
// menu déroulant sélection sur l'auteur *********************
echo '<p> Affichage des choix :</p>';
echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
echo ' <select name="choix" id="menu" style="font-family:arial;" style="font-size:11px;" >';
$resultat=mysql_query("select NOMAUT from livres") or die ("Requête non executée.");
while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne["NOMAUT"].'</option>';
}
echo '</select>';
echo '<input type="submit" style="font-family:arial;" style="font-size:11px;" value="Afficher" name="go">';
echo '</form>';
//si bouton submit cliqué
if(isset($_GET['go'])){
// verification valeur get existante
if(!$_GET['choix']){
exit;
}
//si existe
else{
//exploitation variable $choix dans une requête
$choix = $_GET['choix'];
//
//// requête
$resultat2 = mysql_query("SELECT * FROM livres WHERE NOMAUT='".$choix."'") or die ("Requête non executée.");
$ligne2 = mysql_fetch_array($resultat2);
{
?>
// Affichage sous forme de tableau
<?php echo "<div align=\"center\"><center>
<table border=\"1\" >
<tr>
<td width=100 align=left >"; ?>
<?php echo $ligne2['NOMAUT'];?>
<?php echo "</td>
<td width=200 align=left>"; ?>
<?php echo $ligne2['TITRE'] ;?>
<?php echo "</td>
</table>
</center></div>"; ?>
<?php
}
mysql_close();
}
}
?>
********************
Par avance, merci.
Alban.
A voir également:
- Requête php/mysql menu déroulant
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Supprimer menu déroulant excel - Forum Excel
- Easy php - Télécharger - Divers Web & Internet
2 réponses
Bonsoir,
J'ai un peu arrangé ton script mais je ne l'ai pas testé, la flemme de reproduire la table MySQL :
J'ai un peu arrangé ton script mais je ne l'ai pas testé, la flemme de reproduire la table MySQL :
<?php // ouverture base mysql_connect("localhost", "root", ""); mysql_select_db("livres"); // menu déroulant sélection sur l'auteur ********************* echo '<p>Affichage des choix :</p>'; echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">'; echo '<select name="choix" id="menu" style="font-family: arial, sans-serif; font-size: 11px;">'; $resultat=mysql_query("select NOMAUT from livres") or die ("Requête non executée :".mysql_error()); while($ligne=mysql_fetch_assoc($resultat)) { echo '<option>'.$ligne["NOMAUT"].'</option>'; } echo "</select>\n<input type=\"submit\" style=\"font-family: arial, sans-serif; font-size: 11px;\" name=\"go\" value=\"Afficher\" />\n</form>\n"; mysql_free_result($resultat); //si bouton submit cliqué if(isset($_GET['go'])) { // verification valeur get existante if(!$_GET['choix']) { exit; } else { //exploitation variable $choix dans une requête $choix=$_GET['choix']; $resultat2=mysql_query("SELECT NOMAUT,TITRE FROM livres WHERE NOMAUT='".$choix."'") or die ("Requête non executée : ".mysql_error()); // Affichage sous forme de tableau echo "<div style=\"text-align: center;\">\n<table border=\"1\">\n"; while($ligne2=mysql_fetch_assoc($resultat2)) { echo "<tr><td style=\"width: 100px; text-align: left;\">".$ligne2['NOMAUT']."</td>\n"; echo "<td style=\"width: 200px; text-align: left;\">".$ligne2['TITRE']."</td>\n</tr>\n"; } echo "</table>\n</div>\n"; mysql_free_result($resultat2); } } mysql_close(); ?>