首先,我应该澄清标题,所以你真的明白我要做的事情。
我正在开发一个购物车脚本,但它有点不同,因为每次都会购买所有产品(几乎总是)。因此,我认为最好用表格列出所有项目,然后让客户选择他们想要的每种产品的数量。
它看起来像这样:
-- Name ------------------------- Amount --
-- A random product ------------- 15 ------
-- Another random product ------- 2 -------
-- And a third one --- ---------- 19 ------
-- ------------------------------ ---------
-- ------------------------------ SUBMIT --
问题是,我不确定如何将其写入数据库。或者更具体地说,我不知道如何以我获得所有选定产品的方式提交数据,以及每个产品的数量。我稍后可能会向数据库添加更多产品,因此我无法对其进行硬编码。
我无法在一个输入中发布两个值,这太糟糕了。如果我能做到这一点,我可以将ID和金额作为两个不同的值发布。
任何想法如何做到这一点?
答案 0 :(得分:1)
创建输入字段时,请使用数组作为名称,并将产品ID作为键。
例如(其中$product_id
是金额对应的产品的ID):
<input type="text" name="amounts[<?=$product_id?>]">
然后在PHP中,在发布表单后,$_POST['amounts']
将是一个数组,其中键是产品ID,值是实际数量。你不需要为此做任何特别的事情;默认情况下,PHP会识别出包含[]
的GET / POST数据应该成为一个数组。
然后你可以迭代这个数组来更新数据库:
foreach ($_POST['amounts'] as $product_id => $amount)
{
if (!empty($amount)) // was a value given for this amount?
{
// build your insert query here
}
}
答案 1 :(得分:0)
使用管道“|”连接productID和qty所以它会是
的productId = 14
数量= 3
插入值= 14 | 3
然后在你的数据库提取后,你可以通过“|”爆炸数据并且part1 = 14和part2 = 3