2015-06-14 19 views
0

我有一個頁面在PHP中有多行,在每一行的右邊有一個保存按鈕,在編輯任何行時點擊保存如何發佈指定的記錄ID到另一個頁面來更新MySQL上的這條記錄。

謝謝

回答

1

當PHP的方式創建的「頁」的表格,你可以照顧到創建的每一行作爲一個html表單,並確定「保存」按鈕,提交按鈕。然後單擊該按鈕將導致表單作爲請求發送。

另一種方法是爲此使用javascript:您可以向按鈕的單擊事件添加處理函數。在處理程序中,您知道哪個按鈕(如此行)已被單擊,並且可以使用選擇器來收集該行中的所有值。然後,您可以向某個腳本發送發佈請求,或者更優雅地發出背景ajax請求。這將允許只需確認保存操作的成功而無需重新加載整個頁面。

這兩種方法的很多例子都可以在StackExchange上找到,或者通過簡單的谷歌搜索。也看看到PHP文件是一個很好的起點:http://php.net/manual/en/tutorial.forms.php

+0

用戶也可以直接使用一種形式,每一行不需要是一個形式 –

+0

事實上,這是另一種變體,但它使保存腳本更加複雜,因爲必須將這些值分開從表單內部包含_all_值的表單發佈。 – arkascha

+0

你能發佈javascript代碼嗎,我是非常初學javascript和ajax – hama

0

這是我的代碼

editing.php

$query="SELECT * FROM emp"; 
$result=mysql_query($query); 

$num=mysql_numrows($result); 

mysql_close(); 
?> 

<div align = "center"> 
<table cellspacing="0" border = "2" cellpadding = "4" class="page-break" width="100%"> 
<form method="POST" action="update.php"> 
<tr> 
<th></th> 
<th><font size = "3" >name</font></th> 
<th><font size = "3" >ID</font></th> 

</tr> 

<?php 
$i=0; 
while ($i < $num) { 
$f1=mysql_result($result,$i,"ID_e"); 
$f2=mysql_result($result,$i,"name"); 
?> 

<tr> 
<td ><input type="submit" value="save" name="B1" ></td> 
<td align = "center"><input type="text" size="8px" value = "<?php echo $f2; ?>" name="T2"></td> 
<td align = "center"><input type="text" size="8px" value = "<?php echo $f1; ?>" name="T1"></td> 

</tr> 
<?php 
$i++; 
} 
?> 

Update.php

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

    $id = $_POST['T1'];   //.... how to get updated row ID ? 
    $name = $_POST['T2']; 


    mysql_query("UPDATE emp SET ID_e = '$id', name = '$name' WHERE ID_e = '$id' "); 
} 


?> 
<script type="text/javascript"> 
window.location = 'editing.php'; 
+0

有什麼問題嗎? – hama