Requete sql
Résolu
virus59300
Messages postés
66
Statut
Membre
-
HostOfSeraphim Messages postés 7340 Statut Contributeur -
HostOfSeraphim Messages postés 7340 Statut Contributeur -
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
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
A voir également:
- Requete sql
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
10 réponses
select titre from enseigne, faire, promotion where enseigne.idcommercant=faire.idcommercant and promotion.idpromo=faire.idpromo and nomenseigne='cequetuveux';
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'
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'
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 />';
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 />';
$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());
=>
$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());
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());
l'erreur vient de cette ligne
$tableau=mysql_fetch_array($res)or die("Erreur SQL : <br/>".mysql_error());