我可以获取数据,但提交按钮无效。 我对更新查询和在数组中存储数据感到困惑。 以下是在表格中获取和显示数据的代码。
`<?php
while ($rows=mysqli_fetch_assoc($result)){ ?>
<tr>
<td align="center">
<?php $id[]=$rows['id']; ?><?php echo $rows['id']; ?>
</td>
<td align="center">
<input name="name[]" type="text" id="name" value="<?=$rows['name']; ?>">
</td>
<td align="center">
<input name="lastname[]" type="text" id="lastname" value="<? =$rows['lastname']; ?>">
</td>
<td align="center">
<input name="email[]" type="text" id="email" value="<?=$rows['email']; ?>">
</td>
</tr>
`
以下是提交按钮的代码
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["Submit"] != ""){
$count = mysqli_num_rows($result);
for($i=0;$i<$count;$i++){
$sql2="UPDATE test_mysql SET name='".$_POST["name"][$i]."',lastname='".$_POST["lastname"][$i]."', email='".$_POST["email"][$i]."' WHERE id='$id[$i]'";
$result1=mysqli_query($con, $sql2);
}
header("Location: update-multiple-2.php");
}
答案 0 :(得分:0)
如果在输出表单后处理POST(设置变量$id
),并且变量$test_mysql
设置为数据库中的现有表,并且所有列都存在且您只能添加或删除行(因为它会改变$id
变量)然后它应该工作。
也许这可能会有所帮助:
if(!$result1=mysqli_query($con, $sql2)){
echo 'Error: '.mysqli_error();
}
你需要以某种方式调试它:
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["Submit"] != ""){
$count = mysqli_num_rows($result);
$error = '';
for($i=0;$i<$count;$i++){
$sql2="UPDATE $test_mysql SET name='".$_POST["name"][$i]."',lastname='".$_POST["lastname"][$i]."', email='".$_POST["email"][$i]."' WHERE id='$id[$i]'";
if(mysqli_query($con, $sql2) === FALSE){
$error .= 'SQL query failed, SQL: '.$sql2.', Error: '.mysqli_error() . "\n";
}
}
if(!$error){
header("Location: update-multiple-2.php");
}else{
echo $error;
exit();
}
}