Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z if...
Forum PHP.pl > Forum > Przedszkole
qanov
witam, moj problem moze wydac sie wam troche głupi ale nie smiejcie sie bo naprawdę jestem bardzo początkujący w php tongue.gif Więc tak, dostalem takie zadanie od nauczyciela, ze po wpisaniu liczby od 0 do 250 oblicza mi 2% z tej liczby, jak wpisze 251 - 500 to ma mi obliczyc 4%  z tej liczby.

<?php
$a = 250;
$b = $_GET['liczba'] * 0.02 ;
$c = 500;
$d = $_GET['liczba'] * 0.04 ;
$e = $_GET['liczba'] * 0.06 ;

if($_GET['liczba'] <= $a); {
echo $b ;

if($_GET['liczba'] >= $c);
echo $d ;
}
?>

po wpisaniu liczby np 500 pokazuje mi dwa wyniki - 1020 :/
Co mam zrobic zeby pokazywało jeden prawidłowy wynik po wpisaniu danej liczby :/
Prosze o pomoc biggrin.gif
webdice
Problem tkwi w:

Kod
if($_GET['liczba'] >= $c);


A dokładnie w średniku. Musisz stosować klamry.
Lion_87
Musisz rozdzielić bo masz połączone


if($_GET['liczba'] <= $a); {
echo $b ;

if($_GET['liczba'] >= $c);
echo $d ;
}

oddzielnie jedno i drugie
qanov
sorry nie bardzo rozumiem :/ tzn. nie bardzo wiem jak oddzielic
webdice
  1. <?php
  2. if($_GET['liczba'] <= $a) {
  3. echo $b ;
  4. }
  5.  
  6. if($_GET['liczba'] >= $c) {
  7. echo $d ;
  8. }
  9. ?>


P.S. Po to są tagi na forum, aby ich używać.
Lion_87
no i tak jak wyżej bo te 1020 to wyniki 2% z 500 i 4% z 500 (1020)
qanov
dzieki!!! wielkie dzieki za pomoc biggrin.gif

hmmm ale kiedy robie jak napisales mi webdicepl i dodaje kolejne if - 

if($_GET['liczba'] = $c+1 || $_GET['liczba'] > $c+1)
{
echo $e;
}

to znowu pojawiaja mi się dwa wyniki, z 4% i te nowe z 6%... :/
Lion_87
Najpierw dlaczego nie napiszesz

if($_GET['liczba'] >= $c+1 )
{
echo $e;
}

zamiast

if($_GET['liczba'] = $c+1 || $_GET['liczba'] > $c+1)
{
echo $e;
}

i jaką liczbę podajesz?
widocznie musisz określić granice
webdice
Pierwszy przykład jest spełniony, wiadomo czemu, w drugim nie porównujesz zmiennych tylko przypisujesz. Musisz zastosować:

Kod
==
qanov
webdicepl byłbym wdzięczny jakbys napisał jak mam tego uzyc biggrin.gif i Lion_87 no tak mozna tak napisac ale to mi nie pomoze zbytnio tongue.gif i podaje liczbę 500 ;p
Lion_87
czyli po wpisaniu ma ci 501 obliczyć 6 % z tej liczby?
qanov
tak od 501 i w góre powinno obliczac mi 6% z liczby
Lion_87
To napisz po prostu:
if($_GET['liczba'] <= 250 ) {
echo $b ;
}

if($_GET['liczba'] >= 251 && $_GET['liczba'] <= 500) {
echo $d ;
}

if($_GET['liczba'] >= 501) {
echo $e ;
}
webdice
Chwila chłopaki bo trochę namieszaliście. Podaj dokładnie dla jakich zakresów ma liczyć dany procent.
qanov
od 501 w górę ma obliczac 6%
webdice
  1. <?php
  2.  
  3. if ($_GET['liczba'] <= 250)
  4. {
  5. echo $_GET['liczba'] * 0.02;
  6. }
  7.  
  8. if (($_GET['liczba'] > 250) && ($_GET['liczba'] <= 500))
  9. {
  10. echo $_GET['liczba'] * 0.04;
  11. }
  12.  
  13. if ($_GET['liczba'] > 500)
  14. {
  15. echo $_GET['liczba'] * 0.06;
  16. } 
  17.  
  18. ?>
qanov
dzieki webdicepl jestes wielki i dzieki Lion_87 ze probowales pomoc biggrin.gif :* (btw. nie jestem gejem ;p);  mozna zamknąc biggrin.gif
webdice
Cytat(qanov @ 27.11.2007, 20:04:44 ) *
mozna zamknąc


Nie bądź samolubny smile.gif, nie po to jest forum żeby zamykać rozwiązane tematy, być może ktoś będzie chciał jeszcze tu o coś zapytać.
qanov
hehe no tak winksmiley.jpg
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-2025 Invision Power Services, Inc.