faire un somme de resultat obtenu dans un champ en php mysql - PHP - Programmation
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...
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,
Marsh Posté le 23-09-2013 à 10:40:36
SQL :
http://sql.developpez.com/
http://fr.openclassrooms.com/infor [...] ntures-sql
PHP :
http://fr.openclassrooms.com/infor [...] p-et-mysql
http://php.developpez.com/cours/?page=sgbd#mysql
Marsh Posté le 24-09-2013 à 07:25:58
Mercie rufo je vais essayer et revenir vers vous en cas de problème.
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
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
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 .
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.
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 ?
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
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']."%'"
Marsh Posté le 01-10-2013 à 13:12:32
La requête ne marche pas ilya une erreur #1064
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 ?
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
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
Marsh Posté le 02-10-2013 à 11:50:16
oui petit mémo de base : http://www.codinghorror.com/blog/2 [...] joins.html
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 !
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
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 !
Marsh Posté le 07-10-2013 à 14:35:13
Apprends le SQL : tu verras l'instruction GROUP BY
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'];
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...
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
Marsh Posté le 11-10-2013 à 12:17:13
dufeu456 a écrit : Bonjour! |
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
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
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à
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
Marsh Posté le 11-10-2013 à 14:44:32
Question bête : tu fait bien le SUM() sur le bon champ ?
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
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
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
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
Marsh Posté le 20-09-2013 à 13:31:41
%MERCIE
Message édité par dufeu456 le 23-10-2013 à 09:33:40