如何使用php编辑和保存表中的行

时间:2012-11-22 05:53:01

标签: php javascript mysql

我有一个显示表格所有内容的页面。沿着表格的每一行,我还有一个包含复选框的列。我已经实现了这个删除行。如果我想编辑并保存表中的更改我应该如何处理?下面是我已经实现删除的代码。

<?php
// Connect to server and select databse.
mysql_connect("localhost", "root", "")or die("cannot connect"); 
mysql_select_db("project")or die("cannot select DB");

$sql="SELECT * FROM menu";
$result=mysql_query($sql);

$count=mysql_num_rows($result);
?>

<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
<td colspan="4" bgcolor="#FFFFFF"><strong>Delete multiple rows in mysql</strong> </td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF"><strong>Vendor_id</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Item_id</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Item_name</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Price</strong></td>
</tr>

<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<?php echo $rows['item_id']; ?>"></td>
<td bgcolor="#FFFFFF"><?php echo $rows['vendor_id']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['item_id']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['item_name']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Price']; ?></td>
</tr>

<?php
}
?>

<tr>
<td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td>
</tr>

<?php

// Check if delete button active, start this 
if(isset($_POST['delete'])){
$checkbox = $_POST['checkbox'];
for($i=0;$i<count($_POST['checkbox']);$i++){
$del_id = $checkbox[$i];
$sql = "DELETE FROM menu WHERE item_id='$del_id'";
$result = mysql_query($sql);}

if($result){echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete_menu.php\">";}}
mysql_close();
?>
</table></form></td></tr></table>

1 个答案:

答案 0 :(得分:0)

首先使用PDO而不是mysql ...

并为你的答案..

有很多方法可以做到这一点......但我能想到的最简单的方法是在每个表行中创建一个编辑按钮/(链接)。这会将要编辑的数据的id发送到php页面,在那里你可以进行编辑并将其保存到数据库表部分......

举个例子......

我会把它添加到你的桌子上..

HTML

<td bgcolor="#FFFFFF"><a href="saveEdit.php?id=".<?php echo $rows['vendor_id']; ?>EDIT</a></td>

这会将你带到带有id ...的saveEdit.php页面。

你可以通过

获取saveEdit.php中的id值
$vendor_id=$_GET['id'];

你现在有一个id ...创建一个表单...从表中获取该供应商的相关数据并在表单中显示...让用户编辑它...并将其保存到数据库表中。 。就像你做的那样,删除供应商..