Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Konstrukcja IF bądź inny sposób
Forum PHP.pl > Forum > Przedszkole
_Martin_
Witam

Mam tym razem taki problem.
Mam w 3 zmiennych 3 ceny
$cena1
$cena2
$cena3
I oczywiście cena zmienna to znaczy można sobie ją zmienić!
Tylko teraz mam taki dylemat w jaki dobry sposób mogę wykonać takie działanie, aby
Przyporządkować zmienną cenę tzn.
Jeżeli:
$cena1 >= 10 $cena2 >=10 $cena3 >=10 ale mniejsza niż np 20
to ma coś wykonać
i znowu:
jeżeli
$cena1 >= 21 $cena2 >= 21 itp itd.
TO wykonaj to!
Prosta niby sprawa wykonałem to na if'ach.
Tylko troche nie skutecznie bo chodzi mi o to że jeżeli jakaś cena będzie większa np niż 21 a pozostałe niższe to ma wykonać to co przypisane 21
Zrobiłem coś takiego ale na pewno nie efektywne!
  1. <?php
  2. if(($cena1 >= 31 or $cena1 <= 39) and ($cena2 >= 31 or $cena2 <= 39) and ($cena3 >= 500 or $cena3 <= 599)){
  3.    
  4.    $przedzial = $przedzial_medium;
  5.    echo'x1';
  6.  
  7. }
  8. elseif(($cena1 >= 40 and $cena1 <= 98) or ($cena2 >= 40 and $cena2 <= 98) or ($cena3 >=600 and $cena3 <= 999)){
  9.    
  10.    $przedzial = $przedzial_smal;
  11.    echo'x2';
  12. }
  13. elseif($cena1 >=99){
  14.    
  15.    $przedzial = $przedzial_micor;
  16.    echo'x3';
  17. }
  18. else{
  19.    echo'zaden nie pasuje';
  20. }
  21. ?>
tmgryf
sprawdzalbym niezaleznie przedzialy dla poszczegolnych cen, a nastepnie wybralbym minimalny/maksymalny (nie dokonca rozumiem na ktorym ci zalezy

i bys mial cos takiego
$przedzial_cena:
0 - poza przedzialem 1 - mid; 2 - small 3 - micro

  1. <?php
  2. if ($cena1 > 31 && $cena1 <= 39) $przedzial_cena1=1;
  3. else
  4.  if ($cena1 > 39 && $cena1 <= 98) $przedzial_cena1=2;
  5.  else
  6.  if ($cena1 > 98) $przedzial_cena1=3;
  7.  else
  8.  $przedzial_cena1=0;
  9. ?>


i odpowiednio dla $cena2 i $cena3

a pozniej
  1. <?php
  2. switch(min($przedzial_cena1,$przedzial_cena2,$przedzial_cena3)
  3.  {
  4.  [indent]case 0: { echo &#092;"cena poza przedzialami\"; break;}
  5.  case 1: { echo &#092;"cena mid\";  break;}
  6.  case 2: { echo &#092;"cena small\";  break;}
  7.  case 3: { echo &#092;"cena mikro\";  break;}
  8.  [/indent]              }
  9. ?>



Moze tak to trzeba lyknac?
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.