2011-06-28 32 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。