Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sklep - problem ze skryptem
Forum PHP.pl > Forum > Gotowe rozwiązania
wojteg
Czesc

Znalazlem skrypt prostego sklepu internetowego. Jednak problem jest ze zliczaniem wartosci. Po prostu wartosc koncowa zliczana jest tylko z ostatniego produktu.

To pierwszy plik: zamow.php

Cytat
<html>
<body>
<center>
<h3><font size=8 color="red">SKLEP</font></h3>
<form action="zamow1.php" method=post>
<table><tr><th>Towar</th><th>Cena</th><th>Ilosc</th></tr>
<?php
$f=fopen("towary.txt","r");
$n=0;
while(!feof($f)){
$s=fgets($f,1024);
$a=explode(":",$s);
if($a[0]=="" || $a[1]=="") continue;
echo("<tr><td>".$a[0]."</td><td>".$a[1]."</td><td><input type=text "."value="0" name=t".$n."></td></tr>n");
$n++;
}
?>
</table>
<pre>

<input type=submit value="Zamow">
</pre>
</form>
</body>
</html>



To drugi plik: zamow1.php

Cytat
<html>
<body>
<center>
<h3><font size=8 color="red">Zamowienie</font></h3>
<table><tr><th>Towar</th><th>Cena</th><th>Ilosc</th><th>Wartosc</tr>
<?php
$f=fopen("towary.txt","r");
$n=0;
while(!feof($f)){
$s=fgets($f,1024);
$a=explode(":",$s);
if($a[0]=="" || $a[1]=="") continue;
$nz="t".$n;
if(!is_numeric($$nz) || doubleval ($$nz)==0){
$n++;
continue;}
$ilosc=doubleval ($$nz);
$wartosc=doubleval($a[1])*$ilosc;
echo("<tr><td>".$a[0]."</td><td>".$a[1]."</td><td>".$ilosc."</td><td>".$wartosc."</td></tr>n");
$n++;
}
?>
</table>
<font color="blue" size=6>
<br>
<?php
$razem=doubleval($wartosc);
echo("Razem ilosc ".$razem."");
?>
</font>
</body>
</html>


A to plik txt: towary.txt

Cytat
Cukier:2.00
Banany:3.00
Mąka:1.34
Pomarańcze:3.20


Mam prosbe sprawdzcie co jest nie tak w tych plikach. Dzieki za kazda odpowiedz.
zombie
Twoje $razem zliczalo tylko ostatni element. $razem powinno byc na biezaco sumowane w petli.

Kod
<html>

<body>

<center>

<h3><font size=8 color="red">Zamowienie</font></h3>

<table><tr><th>Towar</th><th>Cena</th><th>Ilosc</th><th>Wartosc</tr>

<?php

$f=fopen("towary.txt","r");

$n=0;

while(!feof($f)){

$s=fgets($f,1024);

$a=explode(":",$s);

if($a[0]=="" || $a[1]=="") continue;

$nz="t".$n;

if(!is_numeric($$nz) || doubleval ($$nz)==0){

$n++;

continue;}

$ilosc=doubleval ($$nz);

$wartosc=doubleval($a[1])*$ilosc;

echo("<tr><td>".$a[0]."</td><td>".$a[1]."</td><td>".$ilosc."</td><td>".$wartosc."</td></tr>n");

$n++;



$wartosc_razem = $wartosc_razem + $wartosc;

$ilosc_razem = $ilosc_razem + $ilosc;

}

?>

</table>

<font color="blue" size=6>

<br>

<?php

$razem=doubleval($wartosc);

echo("Razem: wartosc: ".$wartosc_razem."<br>Ilosc: ".$ilosc_razem);

?>

</font>

</body>

</html>
wojteg
Suuper!!!

Dzieki za szybką i bardzo tresciwa odpowiedz. Fajnie, ze mozna tak szybko uzyskac pomoc.

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.