3

我已经在我的数据库中创建了一个项目表,它非常完美,但是我现在想在我输出的数据的另一列中添加一个删除按钮。

但是我只是不知道该怎么做,我确实为每个表都有一个唯一的ID,所以我可以使用它作为ID,或者你会怎么称呼它的按钮?

<?php

//Start session
    //... all the connection stuff here


$result = mysql_query("SELECT * FROM feathermattresstoppers");

echo "<table border='1'>
<tr>
<th>name</th>
<th>old price</th>
<th>price</th>
<th>delete</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['old_price'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
echo "<td>"<!-- how could I add a button here? -->"</td>";
  echo "</tr>";
  }
echo "</table>";

?>

任何帮助,将不胜感激。

4

7 回答 7

13

在你的桌子之前:

<form action="" method="post">

并关闭表格后的表单标签。

将此代码作为删除按钮:

echo '<td><button type="submit" name="deleteItem" value="'.$row['id'].'" />Delete</button></td>"';

在 PHP 中,您应该执行以下操作

<?php

if(isset($_POST['deleteItem']) and is_numeric($_POST['deleteItem']))
{
  // here comes your delete query: use $_POST['deleteItem'] as your id
  // $delete = $_POST['deleteItem']
  // $sql = "DELETE FROM `tablename` where `id` = '$delete'"; 
}
?> 
于 2012-10-01T05:59:55.617 回答
1

是的,但是您需要将此表放入表格中。您可以创建一个按钮,单击该按钮将提交表格行的表单(复选框),您的复选框 id 将是数据库行中的唯一 id,然后您可以简单地删除具有提交 ID 的行

于 2012-10-01T06:00:43.100 回答
1

两种方法:

1.)您为表格中的每一行编写一个小的 html 表单。该表单在按钮旁边的隐藏输入文件中包含行 ID。在您的处理 php 代码中,您将获得已按下删除按钮的信息以及要删除的行的 ID。

2.)您使用javascript以动态方式对其进行编码。然后,您只需在表格的所有行中编写相同的删除按钮即可。此外,您将一个简短的 javascript 函数绑定到所有这些按钮的“单击”事件。如果单击一个,则调用您的函数,它可以通过查找按钮父元素并读取其 ID 来识别单击的按钮所属的行。然后你发回那个ID。

于 2012-10-01T06:01:43.663 回答
0

最简单的方法是将每个 tr 包含在一个表单中,并将唯一键添加为隐藏字段。

while($row = mysql_fetch_array($result))
{
echo '<form action="here_maybe" method="POST" >'
echo '<input name="row_id" type="hidden" value="'.$row['id'].'"/>'
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['old_price'] . "</td>";
echo "<td>" . $row['price'] . "</td>";
echo "<td><input type="submit" value="Delete" name="delete_command"/></td>";
echo "</tr>";
echo "</form>"
}
于 2012-10-01T05:58:53.600 回答
0

试试这个代码,

<?php
//codes 
echo "<td><form name='frmDelete' action='your delete page here' method='post'><input type='hidden' name='itemid' value='{echo ID here}'><input type='submit' name='dlteBtn' value='delete'></form></td>";
//codes
?>

在删除页面

<?php
if(isset($_POST['dlteBtn'])){
 $id=$_POST['itemid'];
 //delete query for row with id,  $id
 }
?>
于 2012-10-01T06:02:12.227 回答
0
while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['old_price'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
echo "<td>"<a href="delete.php?<?php echo $row['id'];  ?>">delete</a></td>";

  echo "</tr>";
  }
echo "</table>";

?>

在你的 delete.php 中

if(isset($_REQUEST['id']) && is_numeric($_REQUEST['id']))
{
 //query for delete.
}

//w3c 说除了从数据库中检索之外,您不应该将 get 方法用于任何操作,因此更好的方法是使用 post 。

于 2012-10-01T06:11:39.540 回答
-1
    echo '<td><a href="yourpagename.php?delete=1&id='.$row["stud_no"].'"><button type="submit" style="font-weight:bold;" name="delete" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Delete</button></a></td>';

您可以将按钮放在标签内。并覆盖它将标记和href属性,您可以将您的页面名称放在其中显示url的位置。就像使用 delete=1 一样,这样您就可以设置此按钮并将 &id 显示并在其中存储 id。因此,在同一页面或下一页中,您可以使用 get 或 post 方法获取该 ID。例如,我使用了 id=$row['stud_no'] 这将显示您单击的 id 并且 id 将显示在 url 中,然后在该页面或下一页中,您可以使用 $id = $_POST['id ']; 通过这样做,您可以在 $id 中获取您的 stud_no。要查看您是否获得了正确的 id ,您可以回显 $id 并查看它。

于 2018-12-22T07:52:34.813 回答