[PHP] Pytana zwiazane z kodem PHP w mojej stronie


(Rishikbp) #1

([alex]) #2

1.

Marchewki

Szpinak

2.

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

}


(Rishikbp) #3

([alex]) #4

(Rishikbp) #5

dziekuje, tyle ze teraz bede musial sie polapac co jest co, bo z tego kodu nie wiele rozumiem..


([alex]) #6

Którego wiersza nie rozumiesz?


(Rishikbp) #7

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. :slight_smile:

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.


([alex]) #8

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.


(Rishikbp) #9

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 :stuck_out_tongue: -> 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


([alex]) #10

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()


(Rishikbp) #11

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.