maxxou56
Messages postés53Date d'inscriptionjeudi 28 février 2008StatutMembreDernière intervention15 février 2010
-
24 mars 2008 à 20:22
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
29 mars 2008 à 12:34
je souhaiterais afficher la discographie par artiste apres avoir selectionner ce dernier parmis une liste
Lorsque je teste ma page sql je reçois le mesage d'erreur suivnant "Erreur lors de la requête SQL !!! "
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$password = '';
$db = 'musiceo';
// connection à la DB
$connexion=mysql_connect($host,$user,$password) or die ('Erreur lors de la connexion au serveur !!! ');
mysql_select_db($db,$connexion) or die ('Erreur lors de la connexion à la base de données !!! ');
$sql='SELECT nom_artiste FROM artiste';
$rep=mysql_query($sql,$connexion) or die ('Erreur lors de la requête SQL !!! ');
echo 'Selectionner un artiste :
';
echo '<form method="GET">';
echo '<select>';
while($row = mysql_fetch_array($rep)) {
echo'<option name="nomartiste">'.$row["nom_artiste"].'</option>';
}
echo '</select>';
echo '</form>';
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$r='SELECT artiste_album, titre_album, typemusique_album, commentaires_musique FROM album where artiste_album="$_GET["nomartiste"]."';
$req=mysql_query($r,$connexion) or die ('Erreur lors de la requête SQL !!! ');
//nombre de lignes rapportées
$nblignes=mysql_num_rows($req);
$i=0;
echo"
Il y a $nblignes albums enregistrés dans la base
";
// debut du tableau
echo ''.\"\n\";
// première ligne on affiche les titres
echo '----
';
echo 'ARTISTE, ';
echo 'ALBUM, ';
echo 'CATEGORIE, ';
echo 'DESCRIPTION, ';
echo ''.\"\n\";
// lecture et affichage des résultats, 1 résultat par ligne.
while($row = mysql_fetch_array($req)) {
echo '----
';
echo ''.$row["artiste_album"].', ';
echo ''.$row["titre_album"].', ';
echo ''.$row["typemusique_album"].', ';
echo ''.$row["commentaires_musique"].', ';
echo ''.\"\n\";
}
echo '
'."\n";
// fin du tableau.
// on libère le résultat
mysql_free_result($req);
mysql_free_result($rep);
?>
</html>
L'erreur se situe pour la requete $r en fait je ne sais pas comment introduire la variable du select
est ce quil faut utiliser un $_get, $_post ou autre???
bcmfr
Messages postés137Date d'inscriptionjeudi 18 juillet 2002StatutMembreDernière intervention20 novembre 2016 24 mars 2008 à 22:23
slt
$r = "SELECT artiste_album, titre_album, typemusique_album, commentaires_musique FROM album where artiste_album='$_GET[nomartiste]'";
si ca marche pas remplace ta requete par:
$r='SELECT artiste_album, titre_album, typemusique_album, commentaires_musique FROM album where artiste_album="$_GET["nomartiste"]."';
$req=mysql_query($r,$connexion) or die (mysql_error());
et dit nous le message d'erreur
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$password = '';
$db = 'musiceo';
// connection à la DB
$connexion=mysql_connect($host,$user,$password) or die ('Erreur lors de la connexion au serveur !!! ');
mysql_select_db($db,$connexion) or die ('Erreur lors de la connexion à la base de données !!! ');
$sql='SELECT nom_artiste FROM artiste';
$rep=mysql_query($sql,$connexion) or die ('Erreur lors de la requête SQL !!! ');
echo 'Selectionner un artiste :
';
echo '<form method="GET">';
echo '<select name="nomartiste">';
while($row = mysql_fetch_array($rep)) {
echo'<option name="nom_artiste">'.$row["nom_artiste"].'</option>';
}
echo '</select>';
echo '</form>';
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$r='SELECT artiste_album, titre_album, image_album, typemusique_album, commentaires_musique FROM album where artiste_album="$_GET["nomartiste"]"';
$req=mysql_query($r,$connexion) or die ('Erreur lors de la requête SQL !!! ');
//nombre de lignes rapportées
$nblignes=mysql_num_rows($req);
$i=0;
echo"
Il y a $nblignes albums enregistrés dans la base
";
// debut du tableau
echo ''.\"\n\";
// première ligne on affiche les titres
echo '----
';
echo 'ARTISTE, ';
echo 'ALBUM, ';
echo 'CATEGORIE, ';
echo 'DESCRIPTION, ';
echo ''.\"\n\";
// lecture et affichage des résultats, 1 résultat par ligne.
while($row = mysql_fetch_array($req)) {
echo '----
';
echo ''.$row["artiste_album"].', ';
echo '
'.$row["titre_album"].', ';
echo ''.$row["typemusique_album"].', ';
echo ''.$row["commentaires_musique"].', ';
echo ''.\"\n\";
}
echo '
'."\n";
// fin du tableau.
// on libère le résultat
mysql_free_result($req);
mysql_free_result($rep);
?>
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 25 mars 2008 à 19:52
Salut,
$r='SELECT artiste_album, titre_album, image_album, typemusique_album, commentaires_musique FROM album WHERE artiste_album="$_GET["nomartiste"]"';
Je ne sais pas si l'orthographe compte en SQL mais on ne sait jammais, essai le code ci-dessus, je ne suis pas sur que SQL n'est pas sensible a la casse !!!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 mars 2008 à 20:15
Hello,
$r='SELECT artiste_album, titre_album, image_album, typemusique_album, commentaires_musique FROM album where artiste_album=\''.$_GET['nomartiste'].'\'';
maxxou56
Messages postés53Date d'inscriptionjeudi 28 février 2008StatutMembreDernière intervention15 février 2010 25 mars 2008 à 20:34
Avec le code de malalam:
$r='SELECT artiste_album, titre_album, image_album, typemusique_album, commentaires_musique FROM album where artiste_album=\''.$_GET['nomartiste'].'\'';
Voila ce qui s'affiche lorsque je teste la page:
Selectionner un artiste :
(ma liste d'artiste)
Notice: Undefined index: nomartiste in C:\Program Files\EasyPHP 2.0b1\www\Site AP Musiceo(3)\artiste.php on line 31
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 26 mars 2008 à 01:39
Ton formulaire n'est pas soumis. Tu affiches un select, et tu fais une requête avec le résultat du select juste après : ça ne marche pas comme ça, un formulaire. Tes variables n'existent qu'après soumission du formulaire et donc retour vers le serveur.
Je te conseille de lire quelques tutos sur les formulaires html et leur traitement côté serveur.
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$password = '';
$db = 'musiceo';
// connection à la DB
$connexion=mysql_connect($host,$user,$password) or die ('Erreur lors de la connexion au serveur !!! ');
mysql_select_db($db,$connexion) or die ('Erreur lors de la connexion à la base de données !!! ');
$sql='SELECT nom_artiste FROM artiste';
$rep=mysql_query($sql,$connexion) or die ('Erreur lors de la requête SQL !!! ');
echo 'Selectionner un artiste :
';
echo '<form method="GET">';
echo '<select name="nomartiste">';
while($row = mysql_fetch_array($rep)) {
echo'<option name="nom_artiste">'.$row["nom_artiste"].'</option>';
}
echo '</select>';
echo '';
echo '</form>';
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$r='SELECT nom_artiste, image_artiste, type_musique, nationalité_artiste, presentation_artiste FROM artiste, album where artiste_album=nom_artiste';// and nom_artiste=\''.$_GET['nomartiste'].'\'';
//$r='SELECT artiste_album, titre_album, image_album, typemusique_album, commentaires_musique FROM album where artiste_album="$_GET["nomartiste"]"';
$req=mysql_query($r,$connexion) or die ('Erreur lors de la requête SQL !!! ');
//nombre de lignes rapportées
$nblignes=mysql_num_rows($req);
$i=0;
echo"
Il y a $nblignes albums enregistrés dans la base
";
// debut du tableau
echo ''.\"\n\";
// première ligne on affiche les titres
echo '----
';
echo 'ARTISTE, ';
echo 'CATEGORIE, ';
echo 'DESCRIPTION, ';
echo ''.\"\n\";
// lecture et affichage des résultats, 1 résultat par ligne.
while($row = mysql_fetch_array($req)) {
echo '----
';
echo '
'.$row["nom_artiste"].', ';
echo ''.$row["type_musique"].', ';
echo ''.$row["presentation_artiste"].', ';
echo ''.\"\n\";
}
echo '
'."\n";
// fin du tableau.
// on libère le résultat
mysql_free_result($req);
//mysql_free_result($rep);
?>
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 29 mars 2008 à 11:41
Hello,
pour valider, il faut cliquer sur le bouton hein...donc à ton avis, il se passe quoi la 1ère fois où tu arrives sur ta page ? Le formulaire s'affiche (sans être soumis), PUIS tu fais tes requêtes avec des variables qui n'existent pas (puisque le formulaire n'a pas été soumis). Donc forcément, elles ne fonctionnent pas. PHP n'est pas devin, il ne peut pas savoir ce que tu veux afficher AVANT que ton formulaire ne soit soumis. Ca nne me parait pas difficile à comprendre. Regarde cet exemple de la vraie vie :
Tu rencontres un gars (c'est ton formulaire).
Tu veux lui dire bonjour mais tu ne connais pas snom puisqu'il ne s'est pas encore présenté (c'est ta requête). Donc tu bugges, tu lui fais :
Bonjour heu....
Puis il se présente (ton formulaire est soumis) : je m'appelle toto.
Là tu lui dis à nouveau bonjour donc, mais tu ne bugges plus, puisque tu sais son nom :
Bonjour toto.