soldatkgb
Messages postés75Date d'inscriptionjeudi 15 mai 2008StatutMembreDernière intervention29 novembre 2010
-
2 juin 2008 à 13:11
zpef
Messages postés30Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention26 janvier 2011
-
3 juin 2008 à 10:16
bonjour, j'ai une requete a faire afficher. le contexte est qu'un agent qui veut connaitre sa commission doit simplement taper son code et son nom dans une page html que j'ai creer. j'ai creer un fichier transfert sur php pour pouvoir calculer la commission mais sa me renvoi: erreur d'ecution de la requete.pouvez m'aider?
voila ce que j'ai fait:
<html>
<?php
//affectation des valeurs saisies dans des variables
$codeagent=$_POST['codeagent'];
$nomagent=$_POST['nomagent'];
// Connexion au serveur MySQL
$db=mysql_connect("localhost","root","eleve") or die ("erreur de connexion".mysql_error());
// Ouverture de la base PARTIR
mysql_select_db("PARTIR",$db) or die( "erreur de connexion à la base PARTIR");
// Requete selection Agent
$sql="SELECT *
FROM Agent
WHERE Agent.code=$codeagent";
$req=mysql_query($sql) or die ("erreur d'execution de la requête");
$ligne = mysql_fetch_array($sql);
print "
La commission de cette agent :
----
code:,
".$codeagent["codeagent"].",
----
Nom:,
".$ligne["nomagent"].",
----
Prenom:,
".$ligne["prenomagent"].",
----
commission:,
".$ligne["comagent"].",
";
// Requête total voyage par agent
$query = "SELECT Agent.codeagent,SUM(Voyage.prixvoy)*(Agent.comagent)
FROM Agent, Voyage, Reservation
WHERE Agent.$codeagent=Reservation.$codeagent
And Voyage.codevoy= Reservation.codevoy
GROUP BY Agent.codeagent
";
$result = mysql_query ($query) or die ("Erreur lors de la requête :".mysql_error());
while ( $donnees = mysql_fetch_array($result) )
{
zpef
Messages postés30Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention26 janvier 2011 3 juin 2008 à 10:16
Bonjour,
Il y a effectivement un problème dans ta deuxième requête :
$query = "SELECT Agent.codeagent,SUM(Voyage.prixvoy)*(Agent.comagent)
FROM Agent, Voyage, Reservation
WHERE Agent.$codeagent=Reservation.$codeagent
And Voyage.codevoy = Reservation.codevoy
GROUP BY Agent.codeagent
";
Il faudrait que tu enlèves les "$" dans ta jointure car PHP va les remplacer par le code l'agent et tout faire planter.
Autre conseil : utilise un alias pour ta colonne calculée : "
SELECT Agent.codeagent,SUM(Voyage.prixvoy)*(Agent.comagent) AS tot_voyage"
Cela te permettra de remplacer "
$donnees['SUM(Voyage.prixvoy)*(Agent.comagent)']" par "$donnees['tot_voyage']"