我有一個頁面在PHP中有多行,在每一行的右邊有一個保存按鈕,在編輯任何行時點擊保存如何發佈指定的記錄ID到另一個頁面來更新MySQL上的這條記錄。
謝謝
我有一個頁面在PHP中有多行,在每一行的右邊有一個保存按鈕,在編輯任何行時點擊保存如何發佈指定的記錄ID到另一個頁面來更新MySQL上的這條記錄。
謝謝
當PHP的方式創建的「頁」的表格,你可以照顧到創建的每一行作爲一個html表單,並確定「保存」按鈕,提交按鈕。然後單擊該按鈕將導致表單作爲請求發送。
另一種方法是爲此使用javascript:您可以向按鈕的單擊事件添加處理函數。在處理程序中,您知道哪個按鈕(如此行)已被單擊,並且可以使用選擇器來收集該行中的所有值。然後,您可以向某個腳本發送發佈請求,或者更優雅地發出背景ajax請求。這將允許只需確認保存操作的成功而無需重新加載整個頁面。
這兩種方法的很多例子都可以在StackExchange上找到,或者通過簡單的谷歌搜索。也看看到PHP文件是一個很好的起點:http://php.net/manual/en/tutorial.forms.php
這是我的代碼
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';
有什麼問題嗎? – hama
用戶也可以直接使用一種形式,每一行不需要是一個形式 –
事實上,這是另一種變體,但它使保存腳本更加複雜,因爲必須將這些值分開從表單內部包含_all_值的表單發佈。 – arkascha
你能發佈javascript代碼嗎,我是非常初學javascript和ajax – hama