aide sur select

Eléphant du PHP | 61 Messages

24 févr. 2009, 19:54

Bonjour,

J ai une base qui contient deux tables :

- une table label (deux champs : id_label (auto-increment) et nom_label
- une table contenu (5 champs : id_label, reference, artiste, album, contenu)

un $sql1= "SELECT nom_label FROM label Where nom_label='".$_POST['nom_label']."' "; avec un $req1

et un $sql2 "SELECT reference, artiste, album, format FROM contenu " ; avec $req2

sauf que je ne peux mettre qu une seule requete dans mon while du coup il n affiche que l u ou l autre ...

Eléphant du PHP | 271 Messages

24 févr. 2009, 22:03

essaye ceci :
$sql1= "SELECT nom_label FROM label Where nom_label='".$_POST['nom_label']."' "; 

$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
while( $result1 = mysql_fetch_array($req1)) 
        { 
            
		   
           echo '  '.$result1[champ de ta table].'    ';
        }

$sql2 "SELECT reference, artiste, album, format FROM contenu " ;
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
while( $result2 = mysql_fetch_array($req2)) 
        { 
            
		   
           echo '  '.$result2[champ de ta table].'    ';
        }

Patience et obstination sont des qualités !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 févr. 2009, 22:10

Et pourquoi pas faire une jointure entre tes deux tables ? :)
$sql = "SELECT nom_label, reference, artiste, album, format 
  FROM label, contenu
  WHERE label.id_label = contenu.id_label
  AND nom_label='".mysql_real_escape_string($_POST['nom_label'])."' ";
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 61 Messages

25 févr. 2009, 00:13

Merci de votre aide :lol: voila comment j ai fait finalement

$sql1 = "SELECT contenu.reference, contenu.artiste, contenu.album, contenu.format, label.nom_label FROM contenu, label WHERE label.id_label = contenu.id_label AND label.nom_label = '".$_POST

['nom_label']."' ";

$req1= mysql_query($sql1) or die( mysql_error() ) ;

ViPHP
ViPHP | 1996 Messages

25 févr. 2009, 15:48

Bonjour Stephanelle,

Je reprends le conseil de Ryle : Protège ta variable POST via mysql_real_escape_string ou addsalshes ce qui donnera (au choix)
$sql1 = "SELECT contenu.reference, contenu.artiste, contenu.album, contenu.format, label.nom_label FROM contenu, label WHERE label.id_label = contenu.id_label AND label.nom_label = '".addslashes($_POST['nom_label'])."' "; 
$sql1 = "SELECT contenu.reference, contenu.artiste, contenu.album, contenu.format, label.nom_label FROM contenu, label WHERE label.id_label = contenu.id_label AND label.nom_label = '".mysql_real_escape_string($_POST['nom_label'])."' "; 
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr