/ 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
hvordan ganger jeg 2 variabler ??
Fra : Thomas


Dato : 08-07-03 08:09

hejsa

dette udtræk burde i sidste kolonne give mig resultatet af antal x nettopris
men det virker ikke...

hvad gør jeg galt ??

if (!$database) die ('Kunne ikke forbinde til databasen');

mysql_select_db("ruko",$database);

mysql_select_db("ruko",$database) or die('Kunne ikke vælge database');

$foresp = mysql_query("SELECT antal,varegrp,tekst,nettopris FROM status


ORDER BY varegrp");

if (!$foresp) die (mysql_error());

print mysql_num_rows($foresp)." fundet<BR><BR>";

$total = $antal*$nettopris;

while ($data = mysql_fetch_array($foresp)) {

echo "<tr><td>$data[0]</td>";

echo "<td>$data[1]</td>";

echo "<td>$data[2]</td>";

echo "<td>$data[3]</td>";

echo "<td>$total</td>";

echo "<td></td></tr>";



 
 
Rasmus Christian Kaa~ (08-07-2003)
Kommentar
Fra : Rasmus Christian Kaa~


Dato : 08-07-03 08:25

> dette udtræk burde i sidste kolonne give mig resultatet af antal x
nettopris
> men det virker ikke...
>
> hvad gør jeg galt ??

du bør nok lige vise udskriften fra det PHP du har skrevet.



Jens Tønnesen (08-07-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 08-07-03 08:20

"Thomas" <thomas@4701.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>dette udtræk burde i sidste kolonne give mig resultatet af antal x nettopris
>men det virker ikke...

>hvad gør jeg galt ??

Såvidt jeg kan se gange du de to variable sammen FØR du henter dem ud
af dit søgeresultat.

Prøv

>$foresp = mysql_query("SELECT antal,varegrp,tekst,nettopris FROM status

(...)

>while ($data = mysql_fetch_array($foresp)) {

>echo "<tr><td>$data[0]</td>";

Det må være antallet

>echo "<td>$data[1]</td>";
>echo "<td>$data[2]</td>";
>echo "<td>$data[3]</td>";

Og det må være nettopris. Altså er

$total = $data[0] * $data[3];

>echo "<td>$total</td>";
>
>echo "<td></td></tr>";

--
Jens Tønnesen - http://www.pressefoto.dk

Thomas (08-07-2003)
Kommentar
Fra : Thomas


Dato : 08-07-03 08:48

Tak skal du have

jeg har dog stadig et problem med at den ikke vil gange decimalerne, er det
tabellen der er i forkert format ???

hvilken type database tabel skal man vælge til tal med 2 decimaler ??

Thomas



Morten Winkler Jørge~ (08-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 08-07-03 08:54

Thomas wrote:

> hvilken type database tabel skal man vælge til tal med 2 decimaler ??

En strengtype af en eller anden slags. php typecaster det automatisk til
reelle tal når du har brug for det.

Morten

Thomas (08-07-2003)
Kommentar
Fra : Thomas


Dato : 08-07-03 08:56


> En strengtype af en eller anden slags. php typecaster det automatisk til
> reelle tal når du har brug for det.


ok, hvordan får jeg den så til at gange decimalerne med som en alm
regnemaskine ??

thomas



Morten Winkler Jørge~ (08-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 08-07-03 11:16

Thomas wrote:

> ok, hvordan får jeg den så til at gange decimalerne med som en alm
> regnemaskine ??

$a = "2.2";
$b = "3";
echo $a*$b;

Sådan Eller var det ikke det du mente?

Morten

Thomas (08-07-2003)
Kommentar
Fra : Thomas


Dato : 08-07-03 11:34


> $a = "2.2";
> $b = "3";
> echo $a*$b;


hejsa

problemet er at sekretæren skriver alle data ind med kommaer som altid og
derfor vil den ikke lave regnestykket da den kræver punktummer.

derfor skal den på en eller anden måde omformattere kommaerne til
punktummerne under indskrivningen, kan man det ??

thomas



Morten Winkler Jørge~ (08-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 08-07-03 12:14

Thomas wrote:

>
>> $a = "2.2";
>> $b = "3";
>> echo $a*$b;
>
> derfor skal den på en eller anden måde omformattere kommaerne til
> punktummerne under indskrivningen, kan man det ??

$a = "3,3"; // Bemærk kommaet
$b = "2,0"; // Bemærk kommaet

echo ereg_replace("," , "." , $a) * ereg_replace("," , "." , $b);

Morten

Thomas (08-07-2003)
Kommentar
Fra : Thomas


Dato : 08-07-03 13:06


> echo ereg_replace("," , "." , $a) * ereg_replace("," , "." , $b);


så fangede jeg den, gjorde sådan i udtrækket

$net =ereg_replace("," , "." , $data[3]);

hvor jeg så gangede med $net istedet for $data[3]





Tak til alle

thomas



Peter Brodersen (08-07-2003)
Kommentar
Fra : Peter Brodersen


Dato : 08-07-03 17:58

On Tue, 08 Jul 2003 13:14:14 +0200, Morten Winkler Jørgensen
<mwj@INGEN_SPAM_TIL_MIG.mip.sdu.dk> wrote:

>echo ereg_replace("," , "." , $a) * ereg_replace("," , "." , $b);

str_replace() i stedet for ereg_replace()...!

I dette tilfælde er der ingen forskel (udover at ereg_replace() er
sløvere), men en konvertering den anden vej vil være fatal, fx:

echo ereg_replace("." , "," , $a);

Skal man ikke bruge regulære udtryk, så bør man ikke introducere
risikoen for fejl.

--
- Peter Brodersen

Thomas (08-07-2003)
Kommentar
Fra : Thomas


Dato : 08-07-03 09:41

ok, jeg har nu fundet løsningen på decimal regneproblemerne, jeg skal
indskrive tallene med punktum estedet for med komma,

Kan jeg ikke indskrive det som jeg plejer og så få maskinen til at omregne
et komma til et punktum ???

Thomas



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste