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 -
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
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
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
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());