是否可以在一个MySQLi查询中更新多个记录? 单击提交按钮时,有4条记录需要更新(每个元素级别为1)。 结果将发布到单独的php页面,该页面运行查询并将用户返回到编辑页面。 elementid是1,2,3,4,与地球,风,火,水相对应。这些永远不会改变(因此只读或隐藏)
<form id="edituser" name="edituser" method="post" action="applylevelchanges.php">
<fieldset>
<legend>Edit Element Level</legend>
<?php
while($userdetails->fetch())
{?>
<input name="clientid" id="clientid" type="text" size="8" value="<?php echo $clientid; ?>" hidden/>
<input name="elementid" id="elementid" type="text" size="8" value="<?php echo $elementid;?>"hidden/>
<input name="elemname" id="elemname" type="text" size="15" value="<?php echo $elemname; ?>" readonly/>
<input name="elemlevel" id="elemlevel" type="text" size="8" required value="<?php echo $elemlevel; ?>" /></br>
</br>
<?php }?>
</fieldset>
<button type="submit">Edit Student Levels</button>
</form>
以及应用更改的代码
<?php
if(isset ($_POST['clientid']) && isset($_POST['elementid']) && isset($_POST['elemname']) && isset($_POST['elemlevel']) )
{
$db=createConnection();
$clientid=$_POST['clientid'];
$elementid=$_POST['elementid'];
$elemname=$_POST['elemname'];
$elemlevel=$_POST['elemlevel'];
$updatesql="update stuelement set elemlevel=? where clientid=? and elementid=?";
$doupdate=$db->prepare($updatesql);
$doupdate->bind_param("iii",$elemlevel,$clientid,$elementid);
$doupdate->execute();
$doupdate->close();
$db->close();
header("location: edituserlevel.php");
exit;
}
else
{
echo "<p>Some parameters are missing, cannot update database</p>";
}
?>