Comment inserer une requete sql

Résolu
tanon - 28 janv. 2014 à 17:25
jordane45 Messages postés 38234 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 août 2024 - 29 janv. 2014 à 13:35
Bonjour, voila un gros soucis que j'ai avec mon code php pour afficher la somme des montant selon une période donnée mais je ne sais pas comment écrire cette requête aidez moi svp....

4 réponses

jordane45 Messages postés 38234 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 août 2024 345
28 janv. 2014 à 18:11
Bonjour,

1 - Je t'ai demandé de mettre en résolu ta question précédente si le souci est traité....

2 - Dans cette même question.. je t'ai donné un élément de réponse;..

3 - En te basant sur ma réponse précédente.. montre nous ce que tu as essayé comme code.


Cela fait plusieurs mois que tu poses des questions sur ce forum..
Je t'ai déjà fait des remarques quand à ta façon de poser des questions ici.. (charte du site.. conseils d'écriture..) Merci de bien vouloir en tenir compte...(ton mépris vis à vis de nos remarques est fortement désagréable ) !


0
tiens voici le code de ma page Stat_rech3.php:
<?php

// information pour la connection à le DB
require("../gestinc/connexion.php");
$etat='active';
//$link=mysql_connect("$host","$user","$password") or die('<font color=red>Erreur de connnection</font><br> '.mysql_error() );
//mysql_select_db("$bd") or die('<font color=red>Base inexistante</font><br> '.mysql_error() );

// Recuperation du
// Numero du Candidat

@$date=$_POST['date'];
@$poste =$_POST['poste'];
@$montant=$_POST['montant'];




// requete SQL pour la recherche

$sql="SELECT id,SUM(montant)FROM newrech GROUP BY id";

$reponse=@mysql_query($sql,$cnx) or die(mysql_error());
$total = @mysql_num_rows($reponse);

if($total) {


// debut du tableau
echo '<table bgcolor="#FFFFFF" width="967" border="0" cellspacing="2" cellpadding="2">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo'<td bgcolor="#669999" align="center"><b><u>Date de recharge </u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Poste</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Montant</u></b></td>';
// echo '<td bgcolor="#669999" align="center"><b><u>utilisateur</u></b></td>';
//echo '<td bgcolor="#669999"><b><u>Statut</u></b></td>';
// echo '<td bgcolor="#669999" align="center"><b><u>Priorité</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Apperçu</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Modifier</u></b></td>';
//echo '<td bgcolor="#FFF"><b><u></u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($reponse)) {
echo '<tr>';
echo '<td bgcolor="#f0f0f0">'.$row["date"].'</td>';
echo '<td bgcolor="#f0f0f0">'.'<strong> </strong>'.$row["poste"].'</td>';
echo '<td bgcolor="#f0f0f0">'.$row["montant"].'</td>';
//echo '<td bgcolor="#f0f0f0">'.$row["statut"].'</td>';
//echo '<td bgcolor="#f0f0f0">'.$row["priorite"].'</td>';
echo '<td bgcolor="#30BDF3" align="center"><a class=top11 href=appercuRech.php?IdRech='.$row["id"].'><img src=../images/appercu.png title="appercu" width=20 height=20 /></a></td>';
echo '<td bgcolor="#30BDF3" align="center"><a class=top11 href=modif_Rech.php?IdRech='.$row["id"].'><img src=../images/modifier.png title="modifier" width=20 height=20 /></a></td>';
//echo '<td bgcolor="#30BDF3" align="center"><a class=top11 href=modif_inci2.php?IdIncident='.$row["id"].'><img src=../images/cloturer.png title="Clôturer" width=20 height=20 /></a></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}

else echo 'Pas de resultat pour cette statistique';

// on libère le résultat
mysql_free_result($reponse);

?>
mais il m'affiche cette erreur :Notice: Undefined index: date in C:\Local Disk D_11520131229\EasyPHP-12.1\www\gestionIncident\gestinc\stat_rech3.php on line 104

Notice: Undefined index: poste in C:\Local Disk D_11520131229\EasyPHP-12.1\www\gestionIncident\gestinc\stat_rech3.php on line 105

Notice: Undefined index: montant in C:\Local Disk D_11520131229\EasyPHP-12.1\www\gestionIncident\gestinc\stat_rech3.php on line 106
0
jordane45 Messages postés 38234 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 août 2024 345
29 janv. 2014 à 11:39
Pour répondre à ta question
(que tu as posté dans le mauvais sujet : http://codes-sources.commentcamarche.net/forum/affich-10018428-probleme-avec-mon-code-php#8 )

-> Que signifient les messages d'erreur que tu obtiens ?
mais il m'affiche cette erreur :Notice: Undefined index: date in C:\Local Disk D_11520131229\EasyPHP-12.1\www\gestionIncident\gestinc\stat_rech3.php on line 104

Notice: Undefined index: poste in C:\Local Disk D_11520131229\EasyPHP-12.1\www\gestionIncident\gestinc\stat_rech3.php on line 105

Notice: Undefined index: montant in C:\Local Disk D_11520131229\EasyPHP-12.1\www\gestionIncident\gestinc\stat_rech3.php on line 106

Ces messages t'indiquent que tu as des nom de variables inconnues dans tes tableaux aux lignes 104,105,106 de ta page stat_rech3.php.

Ces variables... ne sont, en effet, pas présentes dans ton array...
Si tu regardes la façon dont est construit ton tableau.. (via la requête sql )
SELECT id,SUM(montant)FROM newrech GROUP BY id


Tu vois bien que tu ne récupère que les champs : id et un champ qui aura pour nom SUM(montant). ... et donc... que tu n'as pas : poste, montant ni date. !

Deplus.. un ID est UNIQUE... donc faire un GROUP BY dessus pour calculer des sommes... aucun interret...
Je pense que tu veux calculer tes sommes par DATE et donc c'est sur ce champ là qu'il faut faire ton GROUP BY.

Penses aussi que tu peux nommer tes champs grace à des ALIAS.
Exemple :
SELECT id,poste,SUM(montant) as SOMME_MONTANT,date FROM newrech  GROUP BY date


Enfin.. attention à l'utilisation de certains noms pour tes champs dans tes tables.
En programmation il arrive bien souvent que des termes soient réservé... "date" est souvent utilisé pour des fonctions internes aux programmes.. l'utiliser comme nom de champ est peu judicieux.



0
merci jordane45 pour ton aide je viens de trouver la solution a ce problème. et je veux te demander de m'excuser par rapport a ma désorganisation lors de mes questions . cordialement
0
jordane45 Messages postés 38234 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 août 2024 345
29 janv. 2014 à 13:12
Il n'y a pas de pb.
Penses juste, à l'avenir, que :
- On ne pose qu'une question par TOPIC
- Que l'on se doit d'être le plus explicite possible dans l'explication du souci rencontré.
- Que lorsqu'une question est résolu.. on clos la discussion.


Par contre, si tu as trouvé la solution à ton problème, merci de bien vouloir la donner sur le forum afin que si d'autres personnes rencontrent un jour le même souci, cette discussion puisse leur apporter une réponse.
0
ok mais comment poster le forum ? stp aides moi car j'ai bien lu la charte mais je ne vois pas trop comment y poster . Mais dis moi comment faire alors la somme total alors selon une période donnée
0
jordane45 Messages postés 38234 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 août 2024 345
29 janv. 2014 à 13:35
comment poster le forum ?
Gnnnn ?? Tu postes déjà sur le forum..puisqu'on discute déjà..


Mais dis moi comment faire alors la somme total alors selon une période donnée
TU te moques de moi ??? ;. C'est une NOUVELLE QUESTION ! Pourquoi la poses tu ici ????????

Heureusement que tu viens d'ouvrir une nouvelle discussion pour cette question là... sinon j'aurai pensé que tu te foutais vraiment de moi !
0
Rejoignez-nous