我有这个代码允许我将数据库中的所有数据显示为textarea,我需要通过单击更新按钮来更新它们!
基于这个,应该让我编辑它们,但是当我点击提交时它不会......
<form name="form1" method="post" action="">
<tr>
<td>
<table width="500" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Id</strong></td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center">
<? $id[]=$rows['id']; ?>
<? echo $rows['id']; ?>
</td>
<td align="center">
<input name="name[]" type="text" id="name" value="<? echo $rows['name']; ?>">
</td>
<td align="center">
<input name="lastname[]" type="text" id="lastname" value="<? echo $rows['lastname']; ?>">
</td>
<td align="center">
<input name="email[]" type="text" id="email" value="<? echo $rows['email']; ?>">
</td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center">
<input type="submit" name="Submit" value="Submit"/>
</td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// Check if button name "Submit" is active, do this
if($Submit)
{
for($i=0;$i<$count;$i++)
{
$sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
$result1=mysql_query($sql1);
}
}
if($result1)
{
header("location:update_multiple.php");
}
答案 0 :(得分:0)
是的,因为你忘记了你的身份
<? $id[]=$rows['id']; ?>
无法像那样传递
<input type="hidden" name="id[]" value ="<?php echo $rows['id']; ?>" /><? echo $rows['id']; ?>
和脚本if($Submit){
应为if($_POST['Submit'] != ''){
答案 1 :(得分:0)
您没有在帖子中定义$Submit
,因此{ ... }
中的内容永远不会被执行。
您应该尝试使用以下内容进行更新:
if(isset($_POST[$name]))
{
// update stuff
}
在你的代码中,因为if语句永远不会执行,所以$ result永远不会被设置,因此用户不会被重定向 - 它每次只会显示相同的页面。
答案 2 :(得分:0)
要检查点击按钮时是否发生帖子应设置如下:
在<form>
标记中添加以下内容
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
最后,在哪里检查按钮是否被点击:
if(isset($_POST['Submit'])) {
//Update fields
}
请记住,提交按钮名称字段在php
中区分大小写