我有一个HTML表格基本发票,用于收集订单的详细信息。可以根据用户需要添加或删除新表行。表格包含项目名称,类型,颜色,单价,数量等列。我在<input>
标记内放置了<select>
和<td>
个标记来收集数据。
我需要向数据库提交完整的发票。我遇到的问题是我不确定如何获取$_POST
个变量的输入值,因为<input>
和<select>
的数量会根据上的项目不时变化发票。
我可以使用javascript生成基于表行id的输入字段的动态或静态名称。但是如何在提交结束时将这些数据收集到我的php数组或变量中呢?
这是一个表格行。所有其他都与此相似。
<tr class="table_row_blue">
<td class="table_data_index">1</td>
<td><select>
<option>Test</option>
</select></td>
<td class="table_data_item"><select>
<option> 2GB </option>
</select></td>
<td><input type="text" id="price_field" size="6"></td>
<td><input type="text" id="qty_field" size="6"></td>
<td><span class="table_subtotal">125,200.00</span></td>
</tr>
请给我一些实现我的想法的想法。
答案 0 :(得分:3)
将所有不同的部分封装在数据库的单独表中。所以你可以单独存储它们并用外键相互关联。
对于像
这样的HTML输入使用数组命名也是一个好主意<input name="data[Invoice][field1]" />
<input name="data[Invoice][field2]" />
这为您提供了更加结构化且易于迭代的数据。
答案 1 :(得分:1)
添加隐藏的表单值,该值将包含您要提交的行数。 在PHP端,首先检查行数,然后使用获取所有值 行索引。
答案 2 :(得分:1)
您可以拥有提交到数组的输入字段:
<input type="text" id="price_field" name="data[0][price_field]" size="6">
将在$ _POST中显示为
$_POST['data'][0]['price_field']
我建议您使用条目的唯一ID作为区分符(在上例中替换0)