Requete SQL renvoie aucun résultats

Résolu/Fermé
p4r-t0ut-4-tiix - 19 avril 2009 à 00:08
 p4r-t0ut-4-tiix - 19 avril 2009 à 15:04
Bonjour,
Dans une page recherche.php jai créé une liste deroulante qui affiche tous les artistes de ma base de données et en cette liste renvoyait le choix sur la page traitement_recherche.php mais mon tableau ne m'affiche aucun résultat pourtant quand je met le nom de l'artiste directement dans le where le résultat s'affiche parfaitement.

Voici mon code :
<?php

            $titre = $_POST{'titre'};
            $artiste = $_POST{'artiste'};
 
            //echo $titre;
            //echo $artiste;
      
            $testConnexion = mysql_connect('localhost', 'root', '');
    
            //if($testConnexion==true)
            //echo 'connecter';

            $testSelection = mysql_select_db('eletro-pulse');
    
            //if($testSelection==true)
            //echo 'selectionner';
            
            if (empty($titre))
                {
                
            $req = "SELECT artiste, titre, (note/nbr_note) AS note, module
            FROM musique
            WHERE artiste= '.$artiste.';";
            
            echo '<table class="liste" width="72%">';
            echo '<tr><th>Informations</th><th>Video</th></tr>';



	         $ressource = mysql_query($req);
            
            while ($ligne = mysql_fetch_assoc($ressource))
        {
	          echo '<tr><td class="celluleListe"><b><u>Artiste :</br></u></b> '.$ligne['artiste'].'<br />';
            echo '<b><u>Titre :</br></u></b> '.$ligne['titre'].'<br />';
            echo '<b><u>Note :</br></u></b> '.$ligne['note'].'</td>';
            echo '<td class="celluleListe">'.$ligne['module'].'</td></tr>';
        }


	    echo '</table>';


L'erreur doit provenir de la requete mais je ne vois pas quelle est cette erreur.
Merci d'avance !

2 réponses

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
19 avril 2009 à 00:20
Salut

Plusieurs erreurs ont dû ce glisser dans ce code ^^

déjà

$titre = $_POST{'titre'};
$artiste = $_POST{'artiste'};

$_POST est un tableau de variables indéxé. la syntaxe pour lire ce genre de tableau est avec des crochets et non des accolades

$titre = $_POST['titre']; par exemple.

ensuite

if (empty($titre)) {

la condition est vrai si le titre est vide, je pense que tu voulai dire "si le titre n'est pas vide" dans ce cas il faut ajouter un point d'exclamation

if (!empty($titre))
{

après la requête en effet y a un problème au niveau de la concatenation de la variable

$req = "SELECT artiste, titre, (note/nbr_note) AS note, module
FROM musique
WHERE artiste= '".$artiste."'";


0
p4r-t0ut-4-tiix
19 avril 2009 à 15:04
Merci pour la rapidité de ta reponse et pour ton explication.
Tout fonctionne parfaitement.
Bon Dimanche =D
0