Marchewki
Szpinak
Marchewki
Szpinak
itd.
przyjmujesz:
$a = $_POST[‘a’];
$b = $_POST[‘b’];
$c = $_POST[‘c’];
$a,$b i $c będą tablicami.
$nazwy=array(‘Marchewki’,‘Szpinak’);
$wsp=array(0.16,3.80);
for($i=0;$i<2;++$i)
{
$wynik=$b_*$c__;_
echo ($i+1).’. || '.$nazwy[$a_].’ | ‘.$wynik.’ ft | ‘.($wynik*0.9).’ ft | ‘.($wsp[$a__]*$b__).’ ft_
}
dziekuje, tyle ze teraz bede musial sie polapac co jest co, bo z tego kodu nie wiele rozumiem…
Którego wiersza nie rozumiesz?
Wiersza…
<?php
for($i=0;$i<2;++$i)
{
$ai=intval($a[$i]);
$bi=intval($b[$i]); // ewentualnie floatval()
$ci=intval($c[$i]); // ewentualnie floatval()
$wynik=$bi*$ci;
?>
<?php echo $i+1; ?>
<?php echo $nazwy[$ai]; ?>
<?php echo $wynik.' ft'; ?>
<?php echo ($wynik*0.9).' ft'; ?>
<?php echo ($wsp[$ai]*$bi).' ft'; ?>
<?php
}
?>
ogólnie nie rozumie tych kwadratowych nawiasow i jak one dzialaja. Do tego co to te “i” oznacza. “for($i=0;$i<2;++$i)” a to, to juz jakas czarna magia.
będe musial wiecej poczytac, bo jak narazie wielu rzeczy w tym kodzie nie rozumie. Nic dziwnego ze tak duzy kod pisalem jak nieznalem tylu opcji ile Ty wykorzystales w tym godzie by ulatwic sobie prace.
Nawiasy kwadratowe to odwołanie się do tablicy.
for to podstawowa pętla tu $i zmienia się od 0 do 1 czyli robi się dwa kroki, to co w nawiasach klamrowych jest powtórzone dwa razy lecz dla różnych $i.
Teraz zauwazylem ze cos jest nie tak, mianowicie gdy wpisuje cene targowa mniejsza od 1, np: 0.11 to nie oblicza mi ceny targowej i ceny sprzedazy. Co jest nie tak :?
@ wydaje mi sie ze np. to:
$ai=intval($a[$i]);
jednak nie jestem pewien na co zmienic. Pogrzebie troche moze cos mi sie uda -> aha. Udalo sie. “intval” zmienilem na “floatval” ktory podales w komentarzu i sie udalo. Tyle ze niewiem co te wyrazenia oznaczaja… -> Chcę wprowadzić taka opcje że przy wpisywaniu tych wszystkich wartości na dole będzie dodatkowe pole do wpisania textu (przyjmijmy nazwę tego pola “w”). W tym polu będzie wpisywać się wartość jaką chcemy na to przeznaczyć. Kalkulator ten będzie obliczał ile nam zostanie lub ile nam braknie (mamy pewną pulę pieniedzy, wpisujemy jej wartosc i ma nam obliczyc ile nam zostanie). W jaki sposób od “w” odjąć sumę wszystkich cen targowych? Udało mi się zbudować taki kod (który działa, ale nie jestem pewien czy nie da sie go jakos “lepiej” zapisac…):
$w1=$b[0]*$c[0];
$w2=$b[1]*$c[1];
$w3=$b[2]*$c[2];
$w4=$b[3]*$c[3];
$w5=$b[4]*$c[4];
$w6=$b[5]*$c[5];
$w7=$b[6]*$c[6];
$w8=$b[7]*$c[7];
$w0=$w1+$w2+$w3+$w4+$w5+$w6+$w7;
echo $w-$w0;
Gdzie wczesniej podalem zmienna:
$w=$_POST['w'];
Jak to dziala mozna sprawdzic na mojej stronce testowej: www.phpin.ugu.pl
intval - konwersja z napisu na int;
floatval - konwersja z napisu na float;
Tak a propos zastosuj może pętle:
Zamiast:
$w1=$b[0]*$c[0];
…
$w8=$b[7]*$c[7];
$w0=$w1+$w2+$w3+$w4+$w5+$w6+$w7;
Piszesz:
for($w0=0,$i=0;$i<8;++$i) $w0+=$b[$i]*$c[$i];
I to wszystko.
Z tym że dziwie się że to ci działa bez floatval()
Ogólnie wielkie dzięki za pomoc. Przez takie male programowanie nauczylem sie (moze nie do konca, ale przynajmniej cos polapalem :P) co z petlami for, jak i tablicami array na co przy normalnym czytaniu kursu php nie zwrocilbym z poczatku uwagi. To by bylo na tyle pytan i problemow bo stronke zakonczylem sukcesem.