2012-08-22 143 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區分大小寫