faire un somme de resultat obtenu dans un champ en php mysql

faire un somme de resultat obtenu dans un champ en php mysql - PHP - Programmation

Marsh Posté le 20-09-2013 à 13:31:41    

%MERCIE


Message édité par dufeu456 le 23-10-2013 à 09:33:40
Reply

Marsh Posté le 20-09-2013 à 13:31:41   

Reply

Marsh Posté le 20-09-2013 à 16:49:43    

c'est du SQL basic :
SELECT client, SUM(intérêt) AS SOMME FROM bdd WHERE client = ... GROUP BY client
 
C'est l'idée. Je te recommande vivement d'aller sur des tutos pour apprendre le SQL. ;)
 
PS : pas facile de comprendre ton message mais à la lecture de ton profil, le français semble ne pas être ta langue natale...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-09-2013 à 06:53:44    

Mercie rufo.
Peu tu m'indiquer un tuto pour apprendre le SQL
Et coté PHP je fait quoi ?
PS:oui le français n'est pas ma langue natale et désolés pour les fautes d'orthographes,


Message édité par dufeu456 le 23-09-2013 à 07:57:03
Reply

Marsh Posté le 24-09-2013 à 07:25:58    

Mercie rufo je vais essayer  et revenir vers vous en cas de problème.

Reply

Marsh Posté le 25-09-2013 à 09:53:09    

Bonjour!  
est ce que ceci peu fonctionner .
mon sript de recherche doit effectuer des recherches dans les deux table différent  
SELECT * FROM csv WHERE radical LIKE '%$_POST[recherche]%' GROUP BY radical
 
UNION ALL
 
SELECT *
FROM csv
INNER JOIN apprets ON csv.radical = apprets.YCCLI
INNER JOIN apptf ON apprets.YCCLI = apptf.CLIENT
GROUP BY radical
Order by radical  
PS: Le premier problème est résolu  
-les deux tables n' a pas le même structure  mais possède un FOREIGN KEY ,et nombre de colonne différente mais a un point commun


Message édité par dufeu456 le 25-09-2013 à 09:53:42
Reply

Marsh Posté le 25-09-2013 à 11:57:13    

Pourquoi pas faire tout simplement :
SELECT *
FROM csv
INNER JOIN apprets ON csv.radical = apprets.YCCLI
INNER JOIN apptf ON apprets.YCCLI = apptf.CLIENT
WHERE csv.radical LIKE '%$_POST[recherche]%'
GROUP BY radical
Order by radical  
 
Bon évidemment, faut pas balancer le contenu de $_POST[recherche] direct dans le BD pour éviter les pbs de SQL injection (voir PDO et requêtes préparées) et faut pas mettre non plus * dans le select mais juste les champs que tu veux remonter, c'est plus propre et consommera moins de ressources (mémoire, bande-passante..) parce que ton * va te remonter tous les champs des 3 tables :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-09-2013 à 08:26:52    

Bonjour !la je ne comprend pas  "MySQL n'a retourné aucune ligne. ( Traitement en 0.0137 sec. )" .
PS : dans le fichier config.php est ce que on doit citer les 3 tables .


Message édité par dufeu456 le 26-09-2013 à 09:10:55
Reply

Marsh Posté le 26-09-2013 à 09:51:15    

dans le config.php, on met les identifiants de connexion à Mysql et le nom de la BD.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-09-2013 à 13:32:42    

Et pourquoi Mysql n'a retourné aucune ligne.

Reply

Marsh Posté le 26-09-2013 à 13:32:42   

Reply

Marsh Posté le 26-09-2013 à 17:12:36    

Parce qu'il n'y en a aucune qui répond à la requête que tu as faite... Est-tu sûr que tu fais les jointures sur les bons champs ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-10-2013 à 09:25:30    

Bonjour ! quelle est l'erreur dans cet requête  il retourne aucune ligne
SELECT  * FROM csv
INNER JOIN apprets ON csv.radical = apprets.radical
WHERE csv.radical LIKE '%$_POST[recherche]%'
PS : et pourtant ceci affiche des résultats  
SELECT *
FROM csv
INNER JOIN apprets ON csv.radical = apprets.radical
WHERE csv.radical =102479


Message édité par dufeu456 le 01-10-2013 à 10:25:19
Reply

Marsh Posté le 01-10-2013 à 10:49:08    

Ca serait pas plutôt :
"SELECT  * FROM csv
INNER JOIN apprets ON csv.radical = apprets.radical
WHERE csv.radical LIKE '%".$_POST['recherche']."%'"


Message édité par rufo le 01-10-2013 à 10:49:42

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-10-2013 à 13:12:32    

La requête ne marche pas ilya une erreur #1064


Message édité par dufeu456 le 01-10-2013 à 13:13:14
Reply

Marsh Posté le 01-10-2013 à 13:21:01    

Rassures moi, tu balances pas ma requête dans phpmyadmin direct ?
 
Fais voir un peu ton code, svp ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-10-2013 à 07:34:34    

bonjour désolé de te balancer comme ça le code
le voici le premier partie  
 
 
PS: le problème  ça marche si il trouve  le même résultat dans les deux tables et il n'arrive plus a faire une recherche dans une seule table .
Mercie pour ton aide rufo  :jap:


Message édité par dufeu456 le 23-10-2013 à 09:34:55
Reply

Marsh Posté le 02-10-2013 à 10:50:17    

Ben tu fais un inner join (équi-jointure), donc forcément qu'il ne trouve que les enregistrements communs dans les 2 tables. Si tu veux aussi avoir les enregistrements non communs pour la valeur $_POST['recherche'] recherchée dans l'une des tables faut faire une LEFT JOIN (ou RIGHT JOIN, ça dépend de l'ordre de tes tables dans la requête).
 
Apprendre le SQL pourrait te faire gagner du temps ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-10-2013 à 11:50:16    

Reply

Marsh Posté le 04-10-2013 à 11:08:44    

Bonjour ! Mercie a tous pour votre aide j'en suis maintenant en phase terminale du projet .maintenant c l'affichage enfin je souhait crée un tableau comme dans excel et séparer les résultat du recherche  !  

Reply

Marsh Posté le 04-10-2013 à 13:04:49    

Lit des tutos sur les tableaux paginés prenant leurs données dans une BD. La lib JQuery pourra t'être utile ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-10-2013 à 13:20:30    

bonjour !et comment afficher sans doublons ,puisque le nom et l'adresse revient a chaque fois !

Reply

Marsh Posté le 07-10-2013 à 14:35:13    

Apprends le SQL : tu verras l'instruction GROUP BY ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-10-2013 à 13:18:57    

Bonjour!
Mercie pour tout  
est ce que ceci peu marché  
$req=("SELECT * , SUM (YCMEI) AS somme FROM apprets WHERE radical LIKE '%$_POST[recherche]%' order by radical group by radical" );
 PS :et comment en récupérè la somme  
echo $somme= ['somme'];

Reply

Marsh Posté le 10-10-2013 à 14:16:41    

Non, ça ne peut pas marcher car tu ne sembles pas vouloir apprendre les bases du SQL (et de PHP) :/
 
* est à bannir
les variables dans $_POST doivent entre guillemets ou quotes
group by oit être avant order by
 
Pour ce qui est de récupérer le résultat d'une requête Mysql via PHP, je te renvoie aux centaines de tutos trouvable via Google...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-10-2013 à 11:28:44    

Bonjour!
je débute alors pardonne moi ce projet c pour mon boss  
je vous donne mon code et soyer indulgent et corriger les erreur
le problème c que la requête ne fait pas la bonne calcule  
PS: je jure solennellement d'apprendre les bases après  
 

Message cité 1 fois
Message édité par dufeu456 le 11-10-2013 à 12:48:56
Reply

Marsh Posté le 11-10-2013 à 12:17:13    

dufeu456 a écrit :

Bonjour!
je débute alors pardonne moi ce projet c pour mon boss  
je vous donne mon code et soyer indulgent et corriger les erreur
le problème c que la requête ne fait pas la bonne calcule  
PS: je jure solennellement d'apprendre les bases après
voici le code  
<?php
require_once('confg.php');    
$req = mysql_query("SELECT  IDECON, YCDAEC,YCMEI, NODOSS, YCMCRD, YCMECR, SUM(YCMEI) AS SOMME FROM apprets  
WHERE radical  LIKE '%".$_POST['recherche']."%'  
GROUP BY YCMEI ORDER BY YCMEI  " );  
$resultat= mysql_num_rows($req);
[...]  


Ben justement, c'est AVANT qu'il faut apprendre les bases, pas après. Tu galères justement parce que tu n'as pas les bases. Donc prends un peu de temps pour acquérir les bases dont tu as besoins pour faire ton projet : un peu de SQL, accès lecture/écriture à une BD via PHP et affichage du résultat d'une requête via PHP en HTML (sous forme d'un tableau paginé, éventuellement). Le temps que tu as passer à apprendre va t'en faire gagner beaucoup par la suite ;)
 
Et merci d'utiliser la balise [code] pour poster ton code, pour que ça soit plus lisible. De même, précises un peu plus où ça pêche dans ton code, ça nous fera gagner du temps ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-10-2013 à 12:47:21    

le truc c que il affiche un résultat "22" la bonne réponse des chiffre du genre 23000.456  

Reply

Marsh Posté le 11-10-2013 à 13:54:31    

dufeu456 a écrit :

le truc c que il affiche un résultat "22" la bonne réponse des chiffre du genre 23000.456  


J'ai pas compris ton message, là :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-10-2013 à 14:10:04    

exemple 6 500 000,00 et il affiche 6
5 867 350,96 et il affiche 5  
la bonne réponse et 12367350,96
et avec ceci  
("SELECT radical, IDECON, YCDAEC, YCMEI, NODOSS, YCMCRD, YCMECR, SUM( YCMEI ) AS SOMME
FROM apprets
WHERE radical
GROUP BY radical" )
il affiche 11
PS :c le temps qui me manque mais je vais apprendre


Message édité par dufeu456 le 11-10-2013 à 14:12:49
Reply

Marsh Posté le 11-10-2013 à 14:44:32    

Question bête : tu fait bien le SUM() sur le bon champ ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-10-2013 à 08:37:53    

bonjour ! OUI YCMEI est un champ qui contient les bénéfices  du client  
et je doit afficher le total de cet champ  
PS :  dessolé d’être un boulet :jap:


Message édité par dufeu456 le 15-10-2013 à 08:39:49
Reply

Marsh Posté le 15-10-2013 à 15:05:54    

j'ai trouvé le problème il vient du type "varchar"  
mais le problème lors de l'affichage il fait bien la somme mais n'affiche que la première Line  
PS : s'il vous plait une dernière fois j’apprends  maintenant mais mon boss réclame des resultats    

Reply

Marsh Posté le 15-10-2013 à 15:32:59    

Ben normal qu'il n'affiche qu'une ligne puisque tu fais un group by sur "radical" et non un GROUP BY radical, IDECON, YCDAEC, YCMEI, NODOSS, YCMCRD, YCMECR :/
Tu vois, encore une perte de temps parce que tu n'es pas allé voir comment fonctionne group by :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 17-10-2013 à 08:09:45    

AVEC LE GROUP BY IL N'AFFICHE QUE LE PREMIER LIGNE
GROUP BY radical ET FAIT LA TOTAL .
AVEC GROUP BY YCMEI Il AFFICHE LES DONNEES DANS LE CHAMP YCMEI  
AVEC ROLLUP IL FAIT LES DEUX

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed