русский
Germany.ruForen → Архив Досок→ Programmierung

php подсчет цены

226  
asig коренной житель15.06.12 22:41
asig
15.06.12 22:41 
Что-то не могу придумать, как это сделать
Отрывок из html формуляра=>
Здесь дан checkbox в виде array
Möchten Sie weitere Zutaten? (0,50 € Aufpreis pro Zutat)
<input type="checkbox" name="zutat[]" value="Schinken">Schinken
<input type="checkbox" name="zutat[]" value="Thunfisch">Thunfisch
<input type="checkbox" name="zutat[]" value="Sardellen">Sardellen
<input type="checkbox" name="zutat[]" value="Doppelkäse">Doppelkäse
<input type="checkbox" name="zutat[]" value="Zwiebeln">Zwiebeln
<input type="checkbox" name="zutat[]" value="Knoblauch">Knoblauch
Мне нужно в php сосчитать цену. Цена зависит от количества выбранных дополнительных ингредиентов.
Сначала я проверяю, выбран ли ингредиент, если да, то к предыдущей цене прибавляется 0,50 Евро (каждая дополнительная галочка стоит 0,50 евро)
if (isset($_REQUEST["zutat"]))
{
$zutat=$_REQUEST["zutat"];
foreach ($zutat as $naimenovanie)
{
$naimenovanie1=($naimenovanie + 0.50 );
echo $naimenovanie1;
}
}
else {....}
Программа мне только один раз прибавляет 0,50 евро, если я только одну галочку ставлю. Если я более ставлю, то программа мне всеравно только 50 центов насчитывает.
Объясните как вообще работает этот цикл? Почему этот цикл только один раз насчитывает? Может есть другой способ, подскажите пожалуйста.

#1 
gendy Dinosaur15.06.12 22:50
gendy
NEW 15.06.12 22:50 
in Antwort asig 15.06.12 22:41
$naimenovanie1=($naimenovanie + 0.50 );
в принципе вообше смысла не имеет. здесь не ссумируются ингридиенты, а каждый раз к строке $naimenovanie прибавляется 0.5
неудивительно, что в $naimenovanie1 всегда 0.5
правильно так
$zutat=$_REQUEST["zutat"];
echo count($zutat) * 0.5;

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#2 
asig коренной житель16.06.12 01:04
asig
16.06.12 01:04 
in Antwort gendy 15.06.12 22:50

Получилось, большое прибольшое СПАСИБО!!!
#3