php从多个复选框更新数据
我有一个名为horse的表,我想创建一个表单来编辑horse_名称和horse_高度,但是数据无法更新,结果是更新查询有问题,当我打印查询以显示值时,horse_名称值等于horse_高度php从多个复选框更新数据,php,checkbox,editing,Php,Checkbox,Editing,我有一个名为horse的表,我想创建一个表单来编辑horse_名称和horse_高度,但是数据无法更新,结果是更新查询有问题,当我打印查询以显示值时,horse_名称值等于horse_高度 <body bgcolor="#009933"> <?php include("connection.php"); $conn = oci_connect($UName,$PWord,$DB); if(empty($_POST["check"]))
<body bgcolor="#009933">
<?php
include("connection.php");
$conn = oci_connect($UName,$PWord,$DB);
if(empty($_POST["check"]))
{
$query="SELECT * FROM horse ORDER BY horse_name";
$stmt = oci_parse($conn, $query);
oci_execute($stmt);
?>
<center> <font face="Arial" size="3"><b>Horse Details</b></font>
</center>
<form method="post" action="multiplehorsemodify.php">
<table border="1" align="center">
<tr>
<th>Horse ID</th>
<th>Name</th>
<th>Height</th>
<th>Edit?</th>
</tr>
<?php
while($row = oci_fetch_array ($stmt))
{
?>
<tr>
<td><?php echo $row["HORSE_ID"]; ?></td>
<td align="center">
<input type="text" size="24"
name="<?php echo $row["HORSE_ID"]; ?>"
value="<?php echo $row["HORSE_NAME"]; ?>"></td>
<td align="center">
<input type="text" size="5"
name="<?php echo $row["HORSE_ID"]; ?>"
value="<?php echo $row["HORSE_HEIGHT"]; ?>"></td>
<td align="center">
<input type="checkbox" name="check[]" value="<?php echo $row["HORSE_ID"]; ?>">
</td>
</tr>
<?php
}
?>
</table>
<center>
<input type="submit"
value="Update Selected Titles" />
</center>
</form>
<?php
oci_free_statement($stmt);
}
else
{
foreach($_POST["check"] as $horse_id)
{
echo $horse_id;
$query = "UPDATE horse set horse_name = ".$_POST[$horse_id]."horse_height = ".$_POST[$horse_id]." WHERE horse_id = '".$horse_id."'";
echo $query;
$stmt = oci_parse($conn,$query);
oci_execute($stmt);
header("location: multiplehorsemodify.php");
}
}
oci_close($conn);
?>
</body>
马的细节
马的身份证
名称
高度
编辑
两个表单字段的名称相同($row[“HORSE_ID”]),这将导致问题 两个表单字段的名称相同($row[“HORSE_ID”]),这将导致问题 那么,您可以在查询中将
name
和height
都设置为$\u POST[$horse\u id]
:
$query = "UPDATE horse set horse_name = ".$_POST[$horse_id]."horse_height = ".$_POST[$horse_id]." WHERE horse_id = '".$horse_id."'";
您甚至为输入元素指定了相同的名称:
name="<?php echo $row["HORSE_ID"]; ?>"
并将查询更改为
"UPDATE horse set horse_name = ".mysql_real_escape($_POST['horse_name'][$horse_id])
."horse_height = ".mysql_real_escape($_POST['horse_name'][$horse_id])
." WHERE horse_id = '".$horse_id."'"
那么,您可以在查询中将
name
和height
都设置为$\u POST[$horse\u id]
:
$query = "UPDATE horse set horse_name = ".$_POST[$horse_id]."horse_height = ".$_POST[$horse_id]." WHERE horse_id = '".$horse_id."'";
您甚至为输入元素指定了相同的名称:
name="<?php echo $row["HORSE_ID"]; ?>"
并将查询更改为
"UPDATE horse set horse_name = ".mysql_real_escape($_POST['horse_name'][$horse_id])
."horse_height = ".mysql_real_escape($_POST['horse_name'][$horse_id])
." WHERE horse_id = '".$horse_id."'"
很抱歉,我如何在这里复制html代码?很抱歉,我如何在这里复制html代码?这样,horse_name和horse_height的值指向list@chandrawib:你真的用上一个版本测试过吗?基本上,您必须为名称创建一个数组,就像您为
check[]
所做的那样。抱歉,耽搁了。这样,horse_name和horse_height的值将指向列表中的最后一匹马list@chandrawib:你真的用上一个版本测试过吗?基本上,您必须为名称创建一个数组,就像您为check[]
所做的那样。抱歉耽搁了。我该怎么处理这个问题?好了,钱德拉,这有帮助吗?我该怎么处理这个问题?好了,钱德拉,这有帮助吗?
$HORSE_NAME = $_POST['HORSE_NAME'];
$HORSE_HEIGHT = $_POST['HORSE_HEIGHT'];
$HORSE_ID = $_POST['HORSE_ID'];
"UPDATE table_name SET HORSE_NAME = $HORSE_NAME, HORSE_HEIGHT=$HORSE_HEIGHT WHERE HORSE_ID = $HORSE_ID"