2011-06-28 33 views
2

我有一个表单,有7个不同的项目。用户可以输入数量(无限制),并为每个项目设置价格(比如说,例如,项目1是$ 18,项目2是$ 20等)。我用另一种几乎完全相同的形式做的是这样的:php - 计算价格乘以几个项目的数量以获得个人总计和总计

if(!empty($_POST[qty_item_1])) { 
    $total_1 = ($_POST[qty_item_1] * 18); 
} else { 
$total_1 = "0"; 
} 

if(!empty($_POST[qty_item_2])) { 
$total_2 = ($_POST[qty_item_2] * 20); 
} else { 
$total_2 = "0"; 
} 

我会有一个类似于每个项目的代码块。它似乎工作正常,但我觉得这可能是很难做到这一点,但我很难搞清楚我可能做什么。有什么建议么?

回答

1

鉴于你的字段名,你可以这样做:

$totals = array(); 
for ($i = 1; $i <= 7; $i++) { 
    $total[$i] = isset($_POST["qty_item_{$i}"]) ? intval($_POST["qty_item_{$i}"]) : 0; 
} 

另一种选择是简单地命名字段qty_item[]。当PHP解析提交的数据时,它会将所有这些qty_item字段转换为一个数组。你仍然需要进行后期处理,以确保它们包含有效的数字,而不是什么,thoguh。