我已经在我的数据库中创建了一个项目表,它完美地出来了但是我现在想在我输出的数据的另一列中添加一个删除按钮。
但是我不知道该怎么做,我确实为每个表都有一个唯一的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>";
?>
任何帮助将不胜感激。
答案 0 :(得分:13)
在你的桌子前:
<form action="" method="post">
并关闭表格后的表格标记。
将此代码作为删除按钮:
echo '<td><input type="submit" name="deleteItem" value="'.$row['id'].'" /></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'";
}
?>
答案 1 :(得分:1)
是的,但您需要将此表格放入表格中。您可以创建一个按钮,单击该按钮将提交表行的表单(复选框),您的复选框ID将是数据库行中的唯一ID,然后您只需删除已提交ID的行
答案 2 :(得分: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>"
}
答案 3 :(得分:0)
两种方法:
1。)您为表中的每一行编写一个小的html表单。该表单在按钮旁边的隐藏输入文件中包含行ID。在您处理PHP代码时,您将获得已删除删除按钮的信息以及要删除的行的ID。
2。)您使用javascript以动态方式编码。然后,您只需在表格的所有行中编写相同的删除按钮。此外,您将一个简短的javascript函数绑定到所有这些按钮的“click”事件。如果单击一个,则调用您的函数,它可以通过查找父元素按钮并读取其ID来识别单击按钮所属的行。然后你回发那个ID。
答案 4 :(得分: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
}
?>
答案 5 :(得分: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。
答案 6 :(得分:-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来显示nd并将id存储在其中。这样,在同一页面或下一页中,您可以使用get或post方法获取该ID。 例如,我使用id = $ row ['stud_no']这将显示您单击的ID,并且id将显示在url中,然后在该页面或下一页中,您可以使用$ id = $ _POST ['id '];通过这样做,您可以在$ id中获得stud_no。要查看您是否有正确的ID,可以回显$ id并查看它。