在php中使用删除按钮删除表中的行 [英] deleting row in a table with delete button in php
本文介绍了在php中使用删除按钮删除表中的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一些数据来自数据库,我在最后一列有一个删除按钮。我想删除点击了删除按钮的行。但是,每当我点击删除按钮,只有最后一行被删除,即使我点击第一行。我的代码:
删除函数:
I have some data coming from database and I have a delete button in last column. I want to delete the row on which delete button is clicked. But whenever I click delete button only last row is deleted even if I click on first row. My Code: delete function:
if(isset($_POST['formDelete'])){
if(isset($_POST['quoteid']) && !empty($_POST['quoteid'])){
require_once('config.php');
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE)
or die ('Cannot connect to db');
$quoteid = $_POST['quoteid'];
echo "DELETE FROM quotes WHERE quoteid =".$quoteid;
$result = $conn->query("DELETE FROM quotes WHERE quoteid =".$quoteid);
}
表代码:
table code:
<form action="<?php $_PHP_SELF ?>" method="post">
<?php
require_once('config.php');
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE)
or die ('Cannot connect to db');
$result = $conn->query("SELECT quoteid, quote, cat.catid catid, cat.name cat, scat.catid catid, scat.name scat, author FROM quotes q
INNER JOIN category cat ON q.catid = cat.catid LEFT OUTER JOIN category scat ON q.subcatid = scat.catid order by quoteid");
echo "<table border='1px solid black'>";
echo "<tr><td><b>Category</b></td><td><b>Sub-Category</b></td><td><b>Quote</b></td><td><b>Author</b></td></tr>";
while ($row = $result->fetch_assoc()) {
echo "<tr><td>$row[cat]</td><td>$row[scat]</td><td><input type='hidden' id='quoteid' name='quoteid' value=$row[quoteid] />$row[quote]</td><td>$row[author]</td>
<td><input type='submit' name='formDelete' id='formDelete' value='Delete' /></td></tr>";
}
echo "</table>";
?>
</form>
我试图在quoteid的基础上删除它。有人可以帮助我吗?
I am trying to delete on the basis of quoteid. Can someone please help me?
推荐答案
这个想法是为每个删除按钮创建一个单独的表单,所以quoteid的正确值是send
The idea is create a separate form for each delete button so the right value for quoteid will be send
<?php
require_once('config.php');
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE)
or die ('Cannot connect to db');
$result = $conn->query("SELECT quoteid, quote, cat.catid catid, cat.name cat, scat.catid catid, scat.name scat, author FROM quotes q
INNER JOIN category cat ON q.catid = cat.catid LEFT OUTER JOIN category scat ON q.subcatid = scat.catid order by quoteid");
?>
<table border='1px solid black'>
<tr>
<td>
<b>Category</b>
</td>
<td>
<b>Sub-Category</b>
</td>
<td>
<b>Quote</b>
</td>
<td>
<b>Author</b>
</td>
</tr>
<?php
while ($row = $result->fetch_assoc()) {
?>
<tr>
<td>
<?php echo $row['cat']; ?>
</td>
<td>
<?php echo $row['scat']; ?>
</td>
<td>
<?php echo $row['quote']; ?>
</td>
<td>
<?php echo $row['author']; ?>
</td>
<td>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post' style="display: inline;">
<input type='hidden' id='quoteid' name='quoteid' value="<?php echo $row['quoteid']; ?>" />
<input type='submit' name='formDelete' id='formDelete' value='Delete' />
</form>
</td>
</tr>
<?php
}
?>
</table>
这篇关于在php中使用删除按钮删除表中的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文