Appel de données de 2 tables par liste déroulante
Posté : 17 mars 2006, 22:02
Bonjour,
Grand débutant en PHP, je récupère des scripts que j'adapte à ma situation et évidemment, dès que ça coince, rien ne va plus!
Voilà, j'ai 2 tables, citateurs_celebres et citations_celebres.
j'ai réussi à adapter un script qui m'apelle les citations (de la table citations_celebres) en les associant aux nons et prénom de son auteur (de la table citateurs_celebres) avec un LEFT JOIN.
ce que je souhaiterai, c'est afficher les citations d'un auteur choisi dans une liste déroulante.
J'ai donc, d'un côté une page avec la liste des auteurs qui s'alimente avec la table citateurs_celebres:( ça, ça marche)
Et de l'autre, ma page résultat que j'essaie d'adapter suivant le choix de ce menu mais j'ai une erreur mysql_fetch_array.
Voici ma 2eme page:
Grand débutant en PHP, je récupère des scripts que j'adapte à ma situation et évidemment, dès que ça coince, rien ne va plus!
Voilà, j'ai 2 tables, citateurs_celebres et citations_celebres.
j'ai réussi à adapter un script qui m'apelle les citations (de la table citations_celebres) en les associant aux nons et prénom de son auteur (de la table citateurs_celebres) avec un LEFT JOIN.
ce que je souhaiterai, c'est afficher les citations d'un auteur choisi dans une liste déroulante.
J'ai donc, d'un côté une page avec la liste des auteurs qui s'alimente avec la table citateurs_celebres:( ça, ça marche)
<form name="form" method="post" action="rechparauteur.php"/>
<?php
// Lancement de la requête de sélection des données de la tables
$requete_sql = "SELECT nom, prenom FROM citateurs_celebres ORDER BY nom ASC";
// Execution de la requete $requete_sql
$sql = mysql_query($requete_sql) or die(mysql_error());
// Association des cellules a la variable $sql_row
$sql_row = mysql_fetch_assoc($sql);
// Ici on compte le nombre de cellules retournées par notre requete
$sql_num_rows = mysql_num_rows($sql);
?>
<select name="auteur">
<?
do
{
?>
<option value="<?php echo $sql_row['nom'];?>"><?php echo $sql_row['nom']?>
<?php echo $sql_row['prenom'];?></option>
<?
}
while ($sql_row = mysql_fetch_assoc($sql));
$rows = mysql_num_rows($sql);
if($rows > 0) {
mysql_data_seek($sql, 0);
$row_sql = mysql_fetch_assoc($sql);
}
?>
</select>
<input type="submit" name="submit" value="Envoyer" />
<?
// Fermeture de la conneciton à la base de données
@mysql_close($connection);?>
Et de l'autre, ma page résultat que j'essaie d'adapter suivant le choix de ce menu mais j'ai une erreur mysql_fetch_array.
Voici ma 2eme page:
$nom = $_POST["auteur"];
$reponse = mysql_query("SELECT citateurs_celebres.nom, citateurs_celebres.prenom, citations_celebres.citation FROM citateurs_celebres LEFT JOIN citations_celebres ON citateurs_celebres.id = citations_celebres.numcitateur WHERE citateurs_celebres.nom=$nom");
echo mysql_error();
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p>
<?php echo $donnees['citation']; ?><br />
</em>
</p>
<?php
}
// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>