[英]Dynamic Variable PDO
我正在使用PDO更新我的数据库。 我正在使用循环显示输入框中的ID和值。 现在我有:
foreach ($data as $row): ?>
<form action="" method ="post">
<input type="text" name="Name[<?=$row['ID']?>]">
<input type="hidden" name="NameID[<?=$row['ID']?>]" value="<?=$row["ID"]?>">
<input type="submit" class="button" value="Submit" name="NameEnter[<?=$row["ID"]?>]">
</form>
<?endforeach?>
显然会输出类似Name [1],Name [2]等的内容。
对于我的PDO,当我去更新它时,如何获得
$name = $_POST["Name"];
$ID = $_POST["ID"];
if(isset($_POST['NameEnter'])) {
$update = $db->prepare("UPDATE Table SET Name = ? WHERE ID = ?");
$update->execute(array($name,$ID));
}
它会继续输出ARRAY的值,而不是实际输入的值。 我认为这与$name
被循环成同一件事有关吗?
每次循环时,您都会创建一个单独的表单,因此不需要为输入字段使用复杂的命名约定
foreach ($data as $row): ?>
<form action="" method ="post">
<input type="text" name="Name">
<input type="hidden" name="ID" value="<?=$row["ID"]?>">
<input type="submit" class="button" value="Submit" name="NameEnter">
</form>
<?endforeach?>
然后是一段简单的代码,很容易找出$ _POST数组中的字段名称。
if(isset($_POST['Name'], $_POST['ID'])) {
$update = $db->prepare("UPDATE Table SET Name = ?
WHERE ID = ?");
$update->execute(array($_POST["Name"], $_POST["ID"]));
} else {
echo 'Missing input';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.