if ($ _GET) else if sorunu

5 Cevap

yardıma ihtiyacım var ...

alma giriş formu:

<select name="age">     
<option value="25-30">25-30</option>
<option value="31-40">31-40</option>        
<option value="41-50">41-50</option>
<option value="51-60">51-60</option>
</select>

örnek url

search/?age=25-30

fonksiyonu php:

if ( $_GET['age'] !="25-30") $age = '("A")'; 
elseif ( $_GET['age'] !="31-40") $age = '("B")'; 
elseif ( $_GET['age'] !="41-50") $age = '("C")'; 
elseif ( $_GET['age'] !="51-60") $age = '("D")'; 
else ( $_GET['age'] !="25-30") $age = '("A")'; 

$search ="http://domain.com/?q='.$age;

Sorun: $ arayışı içindeki $ yaşı her zaman i diğer değerleri (31-40, 41-50, 51-60) seçmiş olsa bile A (veya 25-30) döndürür

lütfen yardım .. teşekkürler

5 Cevap

else varsayılan bir değeri temsil etmelidir ve ( $_GET['age'] !="25-30") ondan kaldırılması gerektiğini ve burada aslında ne olması gerekir:

if ( $_GET['age'] =="25-30") $age = '("A")'; 
elseif ( $_GET['age'] =="31-40") $age = '("B")'; 
elseif ( $_GET['age'] =="41-50") $age = '("C")'; 
elseif ( $_GET['age'] =="51-60") $age = '("D")'; 
else $age = '("A")'; // modify accordingly

Bir switch deyimi veya değerleri ile bir dizi kullanarak bu temiz yapabilirdi, ama örneklere geçmeden önce: bu sadece A, {[(değerini ayarlamak için daha kolay olmaz mıydı 2)]}, C ... select, ilk etapta in?

Yorum Re@Col.Shrapnels. Hangisi daha iyi görünüyor. if Yukarıdaki çorba ya bu?

switch($_GET["age"])
 {
   case "25-30": $age = "A"; break;
   case "31-40": $age = "B"; break;
   case "41-50": $age = "C"; break;
   case "51-60": $age = "D"; break;
   default:      $age = "E"; break;  // or whatever

 }

Demek istedin galiba

==

değil

!=

Nasıl sizce, != operatörü ne demek?

Her neyse,

<select name="age">     
<option value="A">25-30</option>
<option value="B">31-40</option>        
<option value="C">41-50</option>
</select>

Sen ("Not Equal To" ("!=") Operatörü kullanıyor ve bu nedenle, seçtiğiniz sürece 25-30 listeden (ki {[sonuçlanmalıdır 3)]}, her zaman ilk satırda duracaktır.

Tam kodu için, ben kullanmak istiyorum:

switch( $_GET['age'] ) {
  case '25-30' :
    $age = '("A")'; break;
  case '31-40' :
    $age = '("B")'; break;
  case '41-50' :
    $age = '("C")'; break;
  case '51-60' :
    $age = '("D")'; break;
  default :
    $age = '("A")';
}