Avatar billede shjorth Nybegynder
06. december 2004 - 18:28 Der er 8 kommentarer og
1 løsning

Udtræk fra mysql

Hejsa, jeg er ved at lave en "indkøbskurv" og bruger flg kode:

function kurv($var2) {
    if($var2) {
        $query_kurv = mysql_query("SELECT * FROM kurv WHERE brugerid = '$var2'")or die(mysql_error());
        $total = 0;
        while ($row_kurv = mysql_fetch_array($query_kurv)) {
            $query_kalma = mysql_query("SELECT * FROM lager WHERE varenr = '$row_kurv[varenr]'")or die(mysql_error());
            $row_lager = mysql_fetch_array($query_kalma);
            $kortnavn = substr($row_lager['navn'], 0, 14);
            $total += $row_lager['pris'];
            global $total;
            print "<font face=verdana size=2 color=red><a href='show.php?varenr=".$row_lager[varenr]."'>".$kortnavn."...</a></font><br>";
        }
    }
}

Og det fungerer fint, mit problem er at få $total til at virke.
Det virker, men hvis du kun har een vare i kurven så retunerer den intet, hvis du har 2 så retunerer den prisen på nr 2 vare der blev tilføjet kurven. Og hvis der er 3 varer i kurven så ligger den vare nr 2 og vare nr 3 sammen..
Altså den ligger alle varepriserne sammen, på nær den første vare der blev tilføjet.
Er der nogen der kan se hvorfor ???

Håber i forstår :P
Mange tak
Avatar billede michael_stim Ekspert
06. december 2004 - 18:42 #1
Hvad sker der hvis du hiver summen ud direkte fra sql'en:
$query_kalma = mysql_query("SELECT *, SUM(pris) AS totalpris FROM lager WHERE varenr = '$row_kurv[varenr]'")...
$total += $row_lager['totalpris'];
Avatar billede mcgoat Nybegynder
06. december 2004 - 18:43 #2
kan ikke have noget at gøre med at $total først bliver global efter første varer er tilføjet? måske den bliver resat der? prøv at rykke den.....
Avatar billede mcgoat Nybegynder
06. december 2004 - 18:43 #3
måske rykke global ud af while løkken? dont know.. hehe
Avatar billede michael_stim Ekspert
06. december 2004 - 18:46 #4
Der skal selvf. ikke väre et + når du henter värdien ;o)
$total = $row_lager['totalpris'];
Avatar billede mcgoat Nybegynder
06. december 2004 - 18:49 #5
hvorfor ikke? ellers kan den jo ikke lægge priserne sammen og finde total... Den ska jo sige $total = $total + $row_lager['pris'];

.......
Hvor får du egentlig
$row_lager['totalpris']; fra??? totalpris?
Avatar billede michael_stim Ekspert
06. december 2004 - 18:51 #6
Åben öjnene og kik längere oppe ;o)
Avatar billede shjorth Nybegynder
06. december 2004 - 18:59 #7
Det var sørme fordi global var placeret forkert :P
michael_stim, jo det er der nød til da det er i en løkke, den skal jo ligge priserne sammen. Ellers får jeg bare en variabel med sidst tilføjede pris. :P
mcgoat, smider du et svar ?
Avatar billede mcgoat Nybegynder
06. december 2004 - 19:07 #8
okaj :) godt det virker nu :)
Avatar billede shjorth Nybegynder
06. december 2004 - 19:11 #9
Takker :P
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