Avatar billede mibu Nybegynder
05. maj 2008 - 13:15 Der er 10 kommentarer og
1 løsning

lave beregning på $row

kan man ikke lave en beregning $row

eks.
<td>".$row["price2"]."*50+".$row["price"]."</td>

Alså price2 * 50 + price
Avatar billede leif Seniormester
05. maj 2008 - 13:18 #1
<td>".$row["price2"] * 50 + $row["price"]."</td>
Avatar billede leif Seniormester
05. maj 2008 - 13:19 #2
Og ellers vil du kunne:

$pris = $row["price2"] * 50 + $row["price"];

<td>".$pris."</td>
Avatar billede mibu Nybegynder
05. maj 2008 - 13:28 #3
NADA! Det virker ikke :-)
Avatar billede w13 Novice
05. maj 2008 - 13:37 #4
Så må det være fordi price2 indeholder noget sjovt. :)

Hvad indeholder price2 og hvilken type data er feltet?
Avatar billede mibu Nybegynder
05. maj 2008 - 13:42 #5
Price indeholder 330.00 og price2 5.50 (f.eks.) og begge felter er varchar(20)
Avatar billede w13 Novice
05. maj 2008 - 14:02 #6
Er der nogen grund til, at felterne ikke er af typen tal?

Og du glemte også lige at sige, hvad der skete, da du prøvede Leifs kode.

Det er altafgørende for debugning af koden at vi ved, hvordan den udskriver det når du prøver den.
Avatar billede mibu Nybegynder
05. maj 2008 - 14:16 #7
Jeg henter fra en tabel der bruges i andre sammenhæng, så jeg er lidt ked af at ændre til tal, men burde det ikke går alligevel?

Leifs kode nr. 1 udskriver kun "price" og der er også en row[title] som forsvinder.

Koden:
$query = mysql_query("SELECT * FROM tt_products ORDER BY uid DESC LIMIT 100");
while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem


{   
        echo "

   
<table width='500' border='0'>

        <tr>
        <td width=50% align='left'>".$row["title"]."</td>
       
        <td>".$row["price2"] * 50 + $row["price"]."</td>
       
        </tr>   
   
";
    }
Avatar billede mibu Nybegynder
05. maj 2008 - 14:19 #8
Hov! Og Leifs kode2 skriver ét tal som jeg ikke lige kan regne ud (1345)
Avatar billede w13 Novice
05. maj 2008 - 14:20 #9
Man kan ikke gange tekst med tal.

Prøv evt.:

$query = mysql_query("SELECT * FROM tt_products ORDER BY uid DESC LIMIT 100");
while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem


{
        $pris = (intval($row["price2"]) * 50) + intval($row["price"]);
        echo "

   
<table width='500' border='0'>

        <tr>
        <td width=50% align='left'>".$row["title"]."</td>
       
        <td>".$pris."</td>
       
        </tr>   
   
";
    }
Avatar billede mibu Nybegynder
05. maj 2008 - 14:26 #10
w13! Det var kanon!

Jeg takker alle for deltagelse!

w13 vil du venligst sende et svar?
Avatar billede w13 Novice
05. maj 2008 - 14:27 #11
;)

Noget af problemet har nok også været manglende parenteser, så den har måske i virkeligheden kørt:

$row["prise2"] * (50 + $row["prise"])
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