Acı verilere dayalı değişkenleri atama

2 Cevap php

Açıkçası SELECT elemanı başına bir türde bir veri gönderen bir verimsiz inşa formu var. Basitlik uğruna, burada bir örnek.

Form ileti 2 SELECT öğeleri, ama aslında 3 veri parçalarını içermesi gerekiyor veri. Kullanıcıya, seçer do 3 veri parçaları içerir; bir SEÇ miktarı ifade eder ve diğer SELECT öğe adını VE SEÇENEK etiketleri arasına metni kullanarak bir fiyat gösterir.

Yani, formu sadece $ miktar ve $ ItemName gönderiyor

Işleme, ben IFS bir demet veya eksik fiyatları sağlamak için bir anahtar oluşturmak için çalışıyorum. $ ItemName ile ilişkilendirilmiş dize benzersiz olmak, ben fiyatı sağlayan bir "anahtar" yapmaya çalışıyorum. $ ItemName gibi bir şey ile $ fiyata bulabiliriz "One Inch Nut" içeriyorsa Benim mantık vardır:

if ($itemname = "Once Inch Nut;") { $price = .25; }

$ ItemName başka bir şey olsaydı, ben de başka IF veya başka bir veya OLGU IF bir anahtarı eklersiniz.

Aslında, ben sadece yapıyorum, henüz "IFS" benim yığınında "EĞER" Ben SELECT'ten başka bir seçenek, $ fiyat ve hatta $ öğe adını seçtiğinizde son olarak tanımlanmıştır

Ben bana "IF yığın" sonu ile bitirmek istiyorum (ne olursa olsun, yankılanan, ekleme) değişkeni kullanmak için o zamanı geldiğinde, bir 20 madde SEÇ gruplama 3. maddede, gibi seçmek edildi Yani eğer

Açıkçası, benim mantık ve ELSE IE ELSEIF anlayış kusurludur.

Bir değişkenin dize verileri bu "Key" yapmak nasıl bir fikir?

Thanks, Rob

I thought işe ne bir kısaltılmış örnek için bakınız:

$ ItemName için formu mesajlar "kedi" varsayalım ve $ Adet Adet için "3"

<? 
$itemname =  $_POST['specificitem'] ;
$qty =  $_POST['quantity'] ;

if ($itemname = "cat;") { $price = 2.25; }
if ($itemname = "dog;") { $price = 1.25; }
if ($itemname = "hamster;") { $price = 3.25; }
if ($itemname = "parakeet;") { $price = 7.25; }
if ($itemname = "werewolf;") { $price = 122.25; }

echo $itemname; 
echo "$"$price;

?>

Should verim: kedi 2,25 $??

2 Cevap

Ben bu kodu için "masa" approch kullanmanızı öneririm. Öğe adına göre fiyatı temsil eden bir dizi oluşturun. Ve aşağıdaki gibi tek satırda fiyat olsun:

<? 
$itemname =  $_POST['specificitem'] ;
$qty =  $_POST['quantity'] ;

## creating a price "table"
$item_prices = array(
    'cat;' => 2.25,
    'dog;' => 1.25,
    ## adding more is easy here
);
if (array_key_exists($itemname, $item_prices)) {
    ## get price in single line
    $price = $item_prices[$itemname];
}
else {
    ## set some default price if item is unknown
}

echo $itemname; 
echo "$",$price;

?>

Daha sonra size ihtiyacınız varsa $item_prices sizin select etiketi seçeneklerini oluşturmak için kullanabilirsiniz.