Avatar billede jakobsen Nybegynder
18. februar 2010 - 18:05 Der er 11 kommentarer

PHP - Mysql - Sum

Hej,

Jeg har noget data i min mysql lign:

[ID] - [INFOTEXT] - [VALUE]
1      test        3
2      testx      5
3      tests      8
4      trala      2
5      jaa        3

osv.

Jeg vil gerne trække alle sammen ud jeg har i databasen
men for hver SUM af VALUE der giver 10
vil jeg sætte et <BR> ind, dvs. efter ID2 og ID4

Nogle der ved hvordan man trækker det ud og beregner det?
Avatar billede zynzz Praktikant
18. februar 2010 - 19:00 #1
$Total = 0;
while(fra database){
$Total += $DataFraDatabase['VALUE'];
if($Total >= 10){
echo "<br>";
$Total = 0;
}
}
Avatar billede zynzz Praktikant
18. februar 2010 - 19:01 #2
Skriv gerne lidt mere !

jeg forstod ikke hvordan det helt skulle virke..
Avatar billede jakobsen Nybegynder
19. februar 2010 - 09:20 #3
ok.

jeg har en select * from på det data jeg har.

jeg skriver dataen ud på en side. eks:

test
testx
tests
trala
ja

og mellem nogle af dem skal der være en <br>
det afgøres af om value er under 10.
dvs. den ligger value sammen indtil den kommer
det første tal under 10, eks.

ID 1 + 2 = 8
ID 1 + 2 + 3 = 16

Så skal <br> være efter ID2 og derefter skal den tælle videre

ID 3 + 4 = 10
ID 3 + 4 + 5 = 13

så skal <br> være efter ID4

er du med ?
Avatar billede zynzz Praktikant
19. februar 2010 - 14:58 #4
Så virker den jeg skrev også??!
Avatar billede zynzz Praktikant
19. februar 2010 - 15:03 #5
Virker dette da ikke??!

$Total = 0;
while(fra database){
$Total += $DataFraDatabase['VALUE'];
if($Total >= 10){
echo "<br>";
$Total = 0;
}
echo $DataFraDatabase['INFOTEXT'];
}
Avatar billede jakobsen Nybegynder
20. februar 2010 - 10:30 #6
jo det virker sådan ca.

så der bare en anden ting jeg skal ha rettet før overstående virker:


SELECT sum( prdag ) as sumprdag FROM oversigt
where pid=$pid

hvis en pid står 3 gange med prdag= 'et tal'

så ligger sum() dem sammen, men skriver $sumprdag ud 3 gange,
hvordan får jeg den til at udskrive kun éngang for hver
udregning pr. pid ?
Avatar billede zynzz Praktikant
20. februar 2010 - 20:19 #7
Vil tro følgende virker...:

SELECT pid, SUM(prdag) FROM oversigt WHERE pid = '".$pid
."' GROUP BY pid;
Avatar billede jakobsen Nybegynder
21. februar 2010 - 08:19 #8
den kommer faktisk også ud med hver pid for hver linie.. og ikke kun éngang pr. pid
Avatar billede jakobsen Nybegynder
21. februar 2010 - 08:22 #9
ah.. har vist fundet en fejl.. vender tilbage..
Avatar billede jakobsen Nybegynder
21. februar 2010 - 08:52 #10
SELECT pid, SUM(prdag) FROM oversigt WHERE pid = '".$pid
."' GROUP BY pid;

virker.

men jeg vil gerne have det trukket ud efter
ORDER BY NAVN i NAVNE

hvordan gør man så ?


SELECT pid, SUM(prdag) FROM oversigt WHERE pid = '".$pid
."' GROUP BY pid ORDER BY navne.navn ?
Avatar billede zynzz Praktikant
21. februar 2010 - 11:23 #11
Som du selv skriver så order by... :)


ORDER BY navn ASC
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester