Afficher ma requete

soldatkgb Messages postés 75 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 29 novembre 2010 - 2 juin 2008 à 13:11
zpef Messages postés 30 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 26 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) )
{

echo $donnees['Agent.codeagent'], $donnees['SUM(Voyage.prixvoy)*(Agent.comagent)'] ;
}

        // Fermeture de la connexion à MySQL
        mysql_close();

?>

</html>

1 réponse

zpef Messages postés 30 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 26 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']"
0
Rejoignez-nous