Requete sql

Résolu
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai un problème de requete sql.
j'ai 3 table :
enseigne(idcommercant(clé primaire),nom,prenom,nomenseigne)
promotion(idpromo(clé primaire),titre,descriptif)
faire(idcommercant(clé étrangère),idpromo(clé étrangère))

je souhaite sortir de ces tables la requete qui me permettrais d'obtenir : le titre de la promation par rapport au nom de l'enseigne.

ps: je rentre au clavier le nom de l'enseigne.
clairement je souhaite obtenir le titre de la promotion par rapport au nom de l'enseigne que je rentre au clavier.

pouvez vous m'apporter vos lumière?
merci

10 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
select titre from enseigne, faire, promotion where enseigne.idcommercant=faire.idcommercant and promotion.idpromo=faire.idpromo and nomenseigne='cequetuveux';

1
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
je vous remerci, j'essai sa de suite.
0
xvyr Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Je ne suis pas un expert mais d'après moi une seule requête sql ne peut pas faire ça.
Je procéderai comme suit :

récupérer l'ID de l'enseigne :
SELECT idcommercant FROM enseigne WHERE nomenseigne='le_nom_demandé'

puis récupérer le titre de la promotion en fonction de l'ID obtenu précédemment:
SELECT titre FROM promotion WHERE idpromo='ID_obtenu_précédemment'
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Si si, avec une requête et des jointures, on y arrive (voir ma réponse plus haut).

0
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
j'ai essayé ta requete HostOfSeraphim, j'essaie de l'afficher avec un fetch_array mais j'ai l'erreur suivante Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Fais un copier/coller de ton code ici (en retirant login/mdp/serveur de la base), tu as dû oublier quelque chose.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
voila

function ajout_promo()
{
/*Connexion*/
$connexion=mysql_connect("localhost","root","")
or die('Connexion refusée.');
/*Sélection de la base de donnée*/
$baseDeDonnee=mysql_select_db("essai",$connexion)
or die('La sélection de la base de donnée a échoué.');



$requete="select idpromo from promotion where lastp=1";
$resultat=mysql_query($requete);

$idpromo=mysql_result($resultat,0);
$newId=$idpromo+1;

$enseigne=$_POST['enseigne'];
$titre = $_POST['titre'];
$description = $_POST['description'];
$datedeb = $_POST['datedeb'];
$datefin = $_POST['datefin'];


$requetec = "select idcommercant from enseigne where nomenseigne='".$_POST['enseigne']."'";
$resultatc=mysql_query($requetec);
//echo("$resultatc");

if(!$resultatc){
echo("je suis ici");
$requeted='INSERT INTO promotion VALUES("'.$newId.'","'.$titre.'","'.$description.'","'.$datedeb.'","'.$datefin.'",1);';
$resultatd=mysql_query($requeted) or die('Insertion non effectuée.');
$requete='UPDATE promotion SET lastp=0 WHERE idpromo='.$idpromo;
$resultat=mysql_query($requete)
or die('Mise à jour du champs "last" impossible.');

}
else{
echo("je suis dans le else");


$sql="select promotion.titre, promotion.description, promotion.datedeb, promotion.datefin from enseigne, faire, promotion where enseigne.idcommercant=faire.idcommercant and promotion.idpromo=faire.idpromo and nomenseigne =''".$_POST['enseigne']."''; " or die("Erreur SQL : $query<br/>".mysql_error());
//$res=mysql_query($sql) or die('Mise à jour du champs "last" impossible.');



$res=mysql_query($sql);
$tableau=mysql_fetch_array($res)or die("Erreur SQL : <br/>".mysql_error());

echo '<tr><td>','titre : ', $tableau['titre'] ,'<br />','<tr><td>','description : ',$tableau['description '],'<br />','<tr><td>','date début : ',$tableau['datedeb'],'<br />','date fin : ',$tableau['datefin'];
echo '<br />';
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
$sql="select promotion.titre, promotion.description, promotion.datedeb, promotion.datefin from enseigne, faire, promotion where enseigne.idcommercant=faire.idcommercant and promotion.idpromo=faire.idpromo and nomenseigne =''".$_POST['enseigne']."''; " or die("Erreur SQL : $query<br/>".mysql_error());

=>

$sql="select promotion.titre, promotion.description, promotion.datedeb, promotion.datefin from enseigne, faire, promotion where enseigne.idcommercant=faire.idcommercant and promotion.idpromo=faire.idpromo and nomenseigne ='".$_POST['enseigne']."'; " or die("Erreur SQL : $query<br/>".mysql_error());

0
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
si tu peux m'aider sa serait sympa
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Voir ma réponse plus haut, tu avais un problème de guillemets visiblement.

Par contre, essaye toujours la requête sur MySQL, ça permettra déjà de savoir si elle est comme tu la voulais ou non.

0
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
je n'ai plus d'eereur mysql_fetch mais cette erreur apparait : erreur sql

l'erreur vient de cette ligne

$tableau=mysql_fetch_array($res)or die("Erreur SQL : <br/>".mysql_error());
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Commence par vérifier la requête dans MySQL (PHPMyAdmin).

0
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
oui elle fonctionne la requete.
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
OK.

Heu, je viens de voir un truc : dans "or die", il manque un espace avant "or'...

0
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
j'ai mis un espace mais pas de changement
0
virus59300 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   5
 
je te remercie beaucoup.
ma requete fonctionne du tonnere ou plutot ta requete.
merci !!!!!
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
De rien. Trouvé ce qui n'allait pas dans le code PHP ?

0