0

テーブルのすべてのコンテンツを表示するページがあります。テーブルの各行に加えて、チェックボックスを含む列もあります。行を削除するためにこれを実装しました。テーブルの変更を編集して保存したい場合、どのように対処すればよいですか?以下は、削除のために実装したコードです。

<?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>
4

1 に答える 1

0

まず、mysqlの代わりにPDOを使用します...

そしてあなたの答えのために..

これを行うには多くの方法があります...しかし、私が考えることができる最も簡単な方法は、各テーブル行に編集ボタン/(リンク)を作成することです。これにより、編集するデータのIDがphpページに送信され、そこで編集を実行してデータベーステーブル部分に保存できます...

例として...

これをテーブルに追加します。

HTML

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

これにより、IDが付いたsaveEdit.phpページに移動します...

uはsaveEdit.phpでid値を取得できます

$vendor_id=$_GET['id'];

uは今IDを持っています...フォームを作成します...テーブルからそのベンダーの関連データを取得し、フォームに表示します...ユーザーに編集させます...そしてデータベーステーブルに保存します..uのようにベンダーを削除しました。

于 2012-11-22T06:09:37.073 に答える