我正在尝试使用HTML表中的数据将完整表导出到SQL中。我知道如何导出一行,但不了解如何导出多行。有什么建议吗?
<?php while ($row = $result->fetch_assoc()) :?>
<tr>
<form action="insertorder.php" method="post">
<td name="Item_ID[]"><?=$row["item_id"]?></td>
<td name="name[]"><?=$row["ITEM_NAME"]?></td>
<td name="suggested_qty"><?=$row["suggested_qty"]?></td>
<td name="price" class="pricetd"><?=$row["Price_item"]?></td>
<td>
<input type="text" name="editedvalues[]" class="qtyinput" value="<?=$row["suggested_qty"]?>" />
</td>
<td><input name='result[]' class="resultinput" /></td>
</tr>
<?php endwhile?>
<input type="submit" class="btn btn-dark" value="Submit">
</table>
</form>
//////Export script////////
$sql = 'INSERT INTO \'ms_order\' (\'item_id\', \'item_name\', \'order_quantity\', \'total\') VALUES';
for ($i=0; $i<count($_POST['item_id']); $i++) {
$sql .= '(\'' . $_POST['item_id'][$i] . '\', \'' . $_POST['item_name'][$i] . '\', \'' . $_POST['editedvalues[]'][$i] . '\', \'' . $_POST['result'][$i] . '\')';
if ($i<count($_POST['item_id']) - 1) {
$sql .= ',';
}
}
答案 0 :(得分:0)
如果我正确理解了您的问题,则需要使用HTML表单,该表单会将您的数据提交到PHP页面进行处理。构建表单时,请使用从数据库中查询的信息来填写表单输入元素的value属性。
<form action = 'myphppage.php' method='post'>
<input name='myinput' value='<?php echo $defaultValue ?>'>
<button type='submit'>Submit</button>
</form>
当用户更改输入字段时,输入值将更改。当用户单击“提交”时,您的select元素的值将在$ _POST数组中发送到“ myphppage.php”,其中元素的名称作为索引。
<?php
$select = $_POST['yourselect'];
?>
然后您可以操纵数据以更新数据库。
警告:确保正确清理数据并使用参数化查询来防止SQL注入。 How can I prevent SQL injection in PHP?