2012-08-22 110 views
1

我有这个代码,它允许我将数据库中的所有数据显示为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

是因为你忘了你的id

<? $id[]=$rows['id']; ?>不能传递这样

<input type="hidden" name="id[]" value ="<?php echo $rows['id']; ?>" /><? echo $rows['id']; ?> 

和脚本if($Submit){if($_POST['Submit'] != ''){

+0

谢谢你的回答:) – Alb

0

你没有在你的文章中定义$Submit,所以{ ... }中的东西永远不会执行。

你应该尝试这样的事情作为更新:

if(isset($_POST[$name])) 
{ 
// update stuff 
} 

在你的代码,如if语句根本不会执行,$结果是从来没有设置,因此用户不被转接了 - 它只是每次显示相同的页面。

+0

如果“注册全局变量”被启用,它将被定义... – Mr47

0

要检查后发生时,点击一个按钮应设置如下:

<form>标签添加以下

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

最后,在这里你检查是否被点击的按钮:

if(isset($_POST['Submit'])) { 

//Update fields 

} 

记住提交按钮名称字段是在PHP区分大小写