Avatar billede troelss Nybegynder
03. september 2006 - 22:02 Der er 31 kommentarer og
1 løsning

Lægge værdier i mysql-kolonne sammen

Hej.

Jeg har en kolonne 'beloeb' i min database. Hvordan kan jeg lægge de beløb sammen?
Alle beløb er positive, men kan være med kommatal.

Og skal jeg bruge komma eller punktum ved decimaler?
Avatar billede shooka Nybegynder
03. september 2006 - 22:05 #1
Du kan bruge SUM()

Jeg mener den skal bruge punktum ved decimaler, men det kan jo ændres når det skal udskrives ;)
Avatar billede troelss Nybegynder
03. september 2006 - 22:09 #2
Hvordan skal sum() bruges?
sum($array) eller?
Avatar billede Slettet bruger
03. september 2006 - 22:15 #3
SELECT SUM(ditFeltNavn) FROM tabel
Avatar billede Slettet bruger
03. september 2006 - 22:16 #4
Men du skal helst vælge data typen decimal, i din database til det felt.
Avatar billede shooka Nybegynder
03. september 2006 - 22:16 #5
$penge = mysql_query(SELECT SUM(beloeb) FROM tabel);
$penge1 = mysql_fetch_array($penge);
echo $penge1['sum'];
Avatar billede shooka Nybegynder
03. september 2006 - 22:17 #6
Hov, jeg havde ikke set, der var svaret
Avatar billede shooka Nybegynder
03. september 2006 - 22:18 #7
Det var da også forkert:

$penge = mysql_query(SELECT SUM(beloeb) FROM tabel);

Skal være:

$penge = mysql_query("SELECT SUM(beloeb) FROM tabel");
Avatar billede troelss Nybegynder
03. september 2006 - 22:22 #8
Hmm... det virker ikke:
Notice: Undefined index: sum in c:\programmer\easyphp1-8\www\faktura\admin.php on line 77

linje 77:
echo $penge1['sum'];
Avatar billede shooka Nybegynder
03. september 2006 - 22:26 #9
$penge = mysql_query(SELECT SUM(beloeb) FROM tabel);
$penge1 = mysql_fetch_row($penge);
$sum = $penge1['sum'];
echo $sum;
Avatar billede troelss Nybegynder
03. september 2006 - 22:27 #10
nope, den vil ikke...
Avatar billede nielle Nybegynder
03. september 2006 - 22:27 #11
Der skal bruges et alias (AS-delen):

$penge = mysql_query(SELECT SUM(beloeb) AS beloebSum FROM tabel);
$penge1 = mysql_fetch_array($penge);
echo $penge1['beloebSum'];
Avatar billede shooka Nybegynder
03. september 2006 - 22:28 #12
$penge = $mysql_query("SELECT SUM(beloeb) as sum FROM tabel");
if ($row = mysql_fetch_row($penge))
{
  $sum = $penge[\'sum\'];
} else {
  $sum = 0;
}
Avatar billede nielle Nybegynder
03. september 2006 - 22:29 #13
... og selvfølgeligt skal det være:

penge = mysql_query("SELECT SUM(beloeb) AS beloebSum FROM tabel");

(Note til self: Pas på med alt det cit'n'paste! ;^)
Avatar billede shooka Nybegynder
03. september 2006 - 22:29 #14
Endnu engang :)
Avatar billede nielle Nybegynder
03. september 2006 - 22:30 #15
shooka> Jeg tror at man skal passe på med at kalde summen for "sum". Det er jo trods alt et reserveret ord. :^)
Avatar billede shooka Nybegynder
03. september 2006 - 22:31 #16
Det kan du have ret i :D
Avatar billede nielle Nybegynder
03. september 2006 - 22:31 #17
Undskyld at jeg blander mig. Kan jo se at det hele bare ender i X-postninger. :^)
Avatar billede troelss Nybegynder
03. september 2006 - 22:32 #18
okay, fetch_array istedet for fetch_row, så virker den... Men jeg ændrede datatypen til decimail, men jeg må hverken skrive 10,56 eller 10.56
Avatar billede shooka Nybegynder
03. september 2006 - 22:32 #19
Det gør ikke noget, det er mig der glemmer at opdatere siden inden jeg poster :D

(Note til self: Husk at refreshe og selvfølgelig alt det cit'n'paste! :P
Avatar billede shooka Nybegynder
03. september 2006 - 22:33 #20
Jeg tror, at den automatisk laver de sidste to tal til decimaltal :D
Avatar billede troelss Nybegynder
03. september 2006 - 22:35 #21
nej, det bliver bare skåret væk.
Avatar billede nielle Nybegynder
03. september 2006 - 22:44 #22
MySQL skal have decimal-tal på decimal-punktum formen: 10.56

Hvad er det du forsøger at gøre, og hvordan fejler det?
Avatar billede shooka Nybegynder
03. september 2006 - 22:44 #23
Du behøver ikke at ændre til decimal.
Avatar billede shooka Nybegynder
03. september 2006 - 22:46 #24
Nå, jeg vil smutte i seng, jeg skal tidligt op i morgen :O
Avatar billede troelss Nybegynder
03. september 2006 - 22:48 #25
uanset om jeg bruger min php-form eller phpmyadmin og taster 10.56, så står der bare 10 i databasen...

(da jeg satte beloeb til decimal, blev den automatisk 'decimal(10,0)', hvis det har nogen betydning)

Jeg kan evt. bare gange med 100 ved indtastning og så dividere ved udskrivning.
Avatar billede troelss Nybegynder
03. september 2006 - 22:53 #26
Jeg ændrede datatypen tilbage til varchar, nu virker den.

Afventer svar til uddeling af point.
Avatar billede nielle Nybegynder
03. september 2006 - 22:54 #27
...,0 i definitionen, betyder at der er 0 pladser efter kommaet. Det skal nok ændres til noget andet. :^)
Avatar billede shooka Nybegynder
03. september 2006 - 22:57 #28
Svar...
Avatar billede shooka Nybegynder
03. september 2006 - 22:57 #29
Selvfølgelig :D
Avatar billede shooka Nybegynder
03. september 2006 - 22:57 #30
Havde glemt at lave til svar
Avatar billede nielle Nybegynder
03. september 2006 - 23:08 #31
Bliver nødt til at smutte nu ... skal ikke have nogen point på denne her. G'nat. :^)
Avatar billede shooka Nybegynder
04. september 2006 - 21:38 #32
Takker for point.
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