|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : septembre 2005 Messages : 71 ![]() |
Bonjour à tous,
J'ai une base de données sous la forme suivante : Code X :
Mon problème est que je ne sais pas, après avoir appelé la base de données, comment comparer une ligne avec la suivante dans mon code php... Vous avez une idée ? Merci beaucoup pour votre aide. |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Tu peux faire une requête SQL sur ta table qui va te faire ce calcul directement:
Code SQL :
SELECT nb, pic, SUM(intensite) AS IntensiteTotale FROM matable GROUP BY nb, pic; ça va te renvoyer une ligne pour chaque paire nb/pic unique avec en intensité la somme des intensités pour cette paire (si j'ai bien compris ce que tu voulais). Ensuite dans ton code PHP tu crées ta nouvelle table avec les bonnes colonnes, tu effectues ta requête, tu récupères dans un tableau tous les résultats a l'aide d'une boucle et ensuite, pour chaque élément de ton tableau tu fais un INSERT dans ta nouvelle table. |
|
|
00
|
|
|
#3 |
![]() ![]() |
hello,
Dans ta deuxieme table je mettrai "nb" en unique. Dans ta premiere table tu recuperes toutes les lignes pour un nb dans un tableau. Avec un foreach, tu compares les valeurs de pic lorque qu elle sont identiques tu le mets dans un autre tableau par exemple. tu fais la somme des intensités. Puis tu recupere dans ta deuxieme table la ligne correspondant a nb. Tu fais la somme des deux et tu updates ta ligne. Voila.A+ et bon courage. PS: si tu veux plus de code envoies tes tables avec les valeurs. PS2: je crois bien que koopajah t'as bien mis sur le voie. |
|
|
00
|
|
|
#4 | ||
|
Membre à l'essai
![]() Inscription : septembre 2005 Messages : 71 ![]() |
Merci bien pour vos réponses
Je pense que ça peut m'aider... mais j'ai quand même un gros souci Je vous passe les définitions de variables qui fonctionnent. Code :
J'ai l'impression que c'est le SUM() qu'il ne comprend pas car si je l'enlève, il remplit la table... Alors je me suis dis que c'était un problème de fonction, j'ai essayé juste pour voir s'il faisait quelque chose avec MAX(), mais même problème ! D'ailleurs, j'ai également ce pb si je rajoute "GROUP BY ..." à la fin de ma ligne (sans la SUM() bien évidemment). Donc il doit y avoir une erreur de synthaxe quelque part dans $request2, mais où ? une idée ? Merci beaucoup. |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Il faut justement avoir un group by dans ta requete si tu veux faire un SUM sur un champ !
|
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : septembre 2005 Messages : 71 ![]() |
Ben oui, mais je l'ai enlevé pour alléger pour voir si c'est ça qui clochait, mais ça change rien !
Avec le GROUP BY, ça marche pas non plus Code :
$request2="SELECT scan_number,mass,SUM(intensity) FROM ".$table_mass2." GROUP BY ".$scan_number.",".$mass_new; |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
pourquoi le group by dépend de variables? Le group by prend des noms de colonnes donc ca sera plutot ca:
Code :
$request2="SELECT scan_number,mass,SUM(intensity) FROM ".$table_mass2." GROUP BY scan_number,mass"; |
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : septembre 2005 Messages : 71 ![]() |
QUELLE TACHE !!!
C'est bon, je me suis emmêler les pinceaux avec les variables php et mysql la bonne requête c'est : Code :
$request2="SELECT scan_number,mass,SUM(intensity) FROM ".$table_mass2." GROUP BY scan_number,mass"; Vous êtes supers ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com