ďťż
Podstrony
|
telcocafeczemam formularz w ktorym wpisuje sie cyferki a on ma te cyferki pomnozyc to takie zadanko no nie i chce zrobic ze $suma = $1 * $2 * $3 .... i jak to zrobic zeby nie robil mnozenia jak jakies ople jest puste :o isset ale w jednym ciagu to zastosowac???? moglbys podac przyklad¿? Hmmm, jeśli masz określone że te trzy zmienne to możesz po kolei robić isset dla każdej, jeśli natomiast nieokreślona liczba to coś w stylu: $licz = ''; $i=0; foreach ($_POST as $key=>$value) { // przyjmujac ze pobieramy dane z post if ($i==count($_POST)) { $licz .= $value; } else { $licz .= $value.' * '; } $i++; } eval ('$suma = '.$licz); echo $suma; To tylko przykład, być może da się to zrobić jakoś inaczej. Użytkownik Einzeinbleth edytował ten post 04 lipiec 2006, 12:27 nie rozumiem :-( nie znam eval count itp. mam po prostu $1 $2 $3 i chce miec $iloczyn przy czym nie ma brac pustej ;-( prosze o pomoc jezeli to niezrozumiale to napiszcie postaram sie wytluamczyc inaczej (...) i jak to zrobic zeby nie robil mnozenia jak jakies ople jest puste :o dzieki sauron za odpowiedz ALE sek w tym, ze ja nie wymagam, aby wpisac liczby do wszystkich pol sek w tym, ze ja nie wymagam, aby wpisac liczby do wszystkich pol <?php $iloczyn=1; if (isset($_POST['1']) { $iloczyn=$_POST['1']; } if (isset($_POST['2']) { $iloczyn= ($iloczyn * ($_POST['2'])); } if (isset($_POST['3']) { $iloczyn= ($iloczyn * ($_POST['3'])); } echo $iloczyn; ?> Użytkownik KSMłody edytował ten post 04 lipiec 2006, 15:55 Eh sorry :| ale widze ze zbytnio bazujecie na tym iloczynie to mial byc przyklad zeby nie gmatwac ale widze ze wzieliscie ta w inna strone, sorry :| wiec postaram sie czytelnie i zrozumiale są pola liczymy stopnie poniedzialek 4 wtorek 5 sroda 3 czwartek piatek 1 takie są oceny pana X z tych dni a w czwartek np. wlasnie tu nic nie dostal i wlicz tu panie srednią takie są oceny pana X z tych dni a w czwartek np. wlasnie tu nic nie dostal i wlicz tu panie srednią dane są w bazie danych, czy w pliku tekstowym? Jak w bazie to można to zrobić po stronie bazy samymi selectami, np: wszystkie: select sum(pole_ocen) <--aby policzyc sumę wszystkich ocen dzielnik: select * from tabela where 'ocena' > 0 i potem przez mysql_num_rows wyciągasz liczbę niezerowych ocen, dzielisz jedno przez drugie i z bańki ?! przeciez wtedy bede mial np. ( 4 + 4 + 1 + 0 + 5 ) /5 a powinno byc ( 4 + 4 + 1 + 5 )/4 ;| w czwartek oceny nie dostał dane są w bazie danych, czy w pliku tekstowym? Jak w bazie to można to zrobić po stronie bazy samymi selectami, np: z formularza :-) Użytkownik VaV edytował ten post 04 lipiec 2006, 16:18 pisane z palca, nie wiem czy nie ma byków, nie mam gdzie sprawdzić $pon=(int)$GET_['poniedzialek']; $wto=(int)$GET_['wtorek']; $sr=(int)$GET_['sroda']; //zakładam że wysyłałeś getem $czw=(int)$GET_['czwartek']; $pia=(int)$GET_['piatek']; $suma=0; $licznnik=0; if $pon >=0 { $suma=$suma+$pon; $licznik=$licznik+1; } if $wto >=0 { $suma=$suma+$wto; $licznik=$licznik+1; } if $sr >=0 { $suma=$suma+sr; $licznik=$licznik+1; } if $czw >=0 { $suma=$suma+$czw; $licznik=$licznik+1; } if $pia >=0 { $suma=$suma+$pia; $licznik=$licznik+1; } $srednia=$suma/licznik; echo $srednia; //zakładam że wysyłałeś getem postem czyli po prostu zamienic ?? ide o zakład że szybciej byś to sprawdził niż napisałe tego posta :( a do czego służy (int) ?? TO działa chyba tak jak chciałeś: <form action="iloczyn.php" method="post"> A:<input type="text" name="1"><br> B:<input type="text" name="2"><br> C:<input type="text" name="3"><br> <input type="submit" value="Pomnóż"><br> =====================<br> </form> <? $iloczyn = 1; $z=0; for ($i=1; $i<4; $i++) { if ($_POST[$i]) { $iloczyn *= $_POST[$i]; echo 'Zmienna '.$i.' wynosi '.$_POST[$i].'<hr>'; $z++; } } if ($z==0 || $z==1) { echo 'Iloczyn = 0.'; } else { echo 'Iloczyn = '.$iloczyn; } ?> a do czego służy (int) ?? (int) służy do rzutowania typu, a w moim przykładzie strzeliłem błąd powinno być $GET_['pon'] itd, zamiast $_GET, za dużo czasu przy komputerze dzisiaj ;) Ten int możesz pominąć chicken rzondzi!!!!!!!!!!!!!!!!!!! !!!!!!1 |
|||
Sitedesign by AltusUmbrae. |