/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problemer med SUM
Fra : J Christensen


Dato : 23-01-05 17:39

Jeg skal have lavet en sammentælling, men det lykkes ikke rigtig.

Opgave: en tabel med oplysninger om (eksempelvis) landmænd og deres husdyr
i forskellige geografiske områder.

Jeg skal for hvert område vise en tabel med landmændene og antal dyr pr.
landmand. Desuden skal jeg have totalt antal dyr for hele området (og også
gerne totalantal af hver type dyr (får, grise og køer)).

Første del er lykkedes, anden del ikke. Hvad gør jeg forkert? Og hvordan gør
jeg det rigtigt?!

Her er koden:

$foresp = mysql_query("SELECT * FROM tblLandmand
WHERE omraade = 'Jylland'
ORDER BY efternavn");

echo "<table>";

while ($raekke = mysql_fetch_array($foresp)) {
extract($raekke);
$dyr_ialt = $ko+$gris+$faar;
echo "<tr><td>";
echo $efternavn . ", ". $fornavn;
echo "</td><td>";
echo $dyr_ialt;
echo " dyr.</td></tr>";
}

echo "</table><br>";

$antalDyr = sum($dyr_ialt);
echo $antalDyr;

Mvh.
Janni Christensen



 
 
Arnulf Sortland (23-01-2005)
Kommentar
Fra : Arnulf Sortland


Dato : 23-01-05 17:52

J Christensen skrev:
> Jeg skal have lavet en sammentælling, men det lykkes ikke rigtig.
>
> Opgave: en tabel med oplysninger om (eksempelvis) landmænd og deres husdyr
> i forskellige geografiske områder.
>
> Jeg skal for hvert område vise en tabel med landmændene og antal dyr pr.
> landmand. Desuden skal jeg have totalt antal dyr for hele området (og også
> gerne totalantal af hver type dyr (får, grise og køer)).
>
> Første del er lykkedes, anden del ikke. Hvad gør jeg forkert? Og hvordan gør
> jeg det rigtigt?!
>
> Her er koden:
>
> $foresp = mysql_query("SELECT * FROM tblLandmand
> WHERE omraade = 'Jylland'
> ORDER BY efternavn");
>
> echo "<table>";
>
> while ($raekke = mysql_fetch_array($foresp)) {
> extract($raekke);
> $dyr_ialt = $ko+$gris+$faar;
> echo "<tr><td>";
> echo $efternavn . ", ". $fornavn;
> echo "</td><td>";
> echo $dyr_ialt;
> echo " dyr.</td></tr>";
> }
>
> echo "</table><br>";
>
> $antalDyr = sum($dyr_ialt);
> echo $antalDyr;
>
> Mvh.
> Janni Christensen

Janni prøv med:

$antalDyr =0;
while ($raekke = mysql_fetch_array($foresp))
{
$dyr_ialt = $ko+$gris+$faar;
$antalDyr += $dyr_ialt;
...
}

arnulf @ http://rlb.no/

Jacob Atzen (23-01-2005)
Kommentar
Fra : Jacob Atzen


Dato : 23-01-05 18:05

On 2005-01-23, J Christensen <christensenjanni@hotmail.com> wrote:
> Jeg skal for hvert område vise en tabel med landmændene og antal dyr pr.
> landmand. Desuden skal jeg have totalt antal dyr for hele området (og også
> gerne totalantal af hver type dyr (får, grise og køer)).
>
> Første del er lykkedes, anden del ikke. Hvad gør jeg forkert? Og hvordan gør
> jeg det rigtigt?!
>
> Her er koden:

[snip]
> while ($raekke = mysql_fetch_array($foresp)) {
> extract($raekke);
> $dyr_ialt = $ko+$gris+$faar;
....
> }
>
> $antalDyr = sum($dyr_ialt);
> echo $antalDyr;

Du overskriver jo din variabel $dyr_ialt ved hvert gennemløb af din
while løkke. Du skal lave en aggregator, du opdaterer i din while løkke.
Eks.:

$dyr_sum = 0;
while(...) {
$dyr_sum = $dyr_sum + dyr_ialt;
...
}

echo $dyr_sum;

--
Med venlig hilsen
- Jacob Atzen

J Christensen (23-01-2005)
Kommentar
Fra : J Christensen


Dato : 23-01-05 22:08

> Du overskriver jo din variabel $dyr_ialt ved hvert gennemløb af din
> while løkke. Du skal lave en aggregator, du opdaterer i din while løkke.

> Med venlig hilsen
> - Jacob Atzen

Tusind tak! P.t. forstår jeg ikke lige helt mekanikken, men den virker, og
inden jeg er færdig med hjemmesiden, er forståelsen nok kommet på plads, for
funktionaliteten skal bruges mange steder

Mvh.
Janni Christensen



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste