使用PHP删除特定行

使用PHP删除特定行,php,html,mysql,Php,Html,Mysql,我正在尝试向我在学校做的笔记网站项目添加一个删除按钮。就像一个论坛,你可以删除对某个主题的回复。。。我希望能够删除单个注释。目前我可以删除,但它只会删除最近的注释(注释表的底部)。我如何获得它,以便delete按钮删除相应行中的注释,而不仅仅是底部的注释 主界面(我认为问题出在哪里) $sql=“从$tbl_name中选择noteID、title、note、timestamp,其中user='$currentuser'和subject='$currentsubject'; $result=mys

我正在尝试向我在学校做的笔记网站项目添加一个
删除
按钮。就像一个论坛,你可以删除对某个主题的回复。。。我希望能够删除单个注释。目前我可以删除,但它只会删除最近的注释(注释表的底部)。我如何获得它,以便
delete
按钮删除相应行中的注释,而不仅仅是底部的注释

主界面(我认为问题出在哪里)

$sql=“从$tbl_name中选择noteID、title、note、timestamp,其中user='$currentuser'和subject='$currentsubject';
$result=mysql\u查询($sql);
?>
标题
ID
注意
时间
删除

首先:关于特定用例的相应代码/查询在哪里(删除注释)

您正在尝试提交一个没有任何参数的表单,我假设您正在尝试使用session变量。但是,此变量将始终设置为最后一次循环迭代。因此,我建议您使用以下代码示例:

// Start looping table row
while($rows=mysql_fetch_array($result)){
    echo '<br>';
    echo '<tr>';
    echo '<td>'.$rows['title'].'</td>';
    echo '<td>'.$rows['noteID'].'</td>';
    echo '<td>'.$rows['note'].'</td>';
    echo '<td>'.$rows['timestamp'].'</td>';
    echo '<td><form method="post" action="deletenote.php" ><input type="hidden" name="noteID" value="'.$rows['noteID'].'"><input type="submit" name="submit" value="Delete"></form> </td>';
    echo '</tr>';
}
//开始循环表行
while($rows=mysql\u fetch\u array($result)){
回声“
”; 回声'; 回显'.$rows['title'].'; 回显'.$rows['noteID'].'; 回显'.$rows['note'].'; 回显'.$rows['timestamp'].'; 回声'; 回声'; }
首先:关于特定用例的相应代码/查询在哪里(删除注释)

您正在尝试提交一个没有任何参数的表单,我假设您正在尝试使用session变量。但是,此变量将始终设置为最后一次循环迭代。因此,我建议您使用以下代码示例:

// Start looping table row
while($rows=mysql_fetch_array($result)){
    echo '<br>';
    echo '<tr>';
    echo '<td>'.$rows['title'].'</td>';
    echo '<td>'.$rows['noteID'].'</td>';
    echo '<td>'.$rows['note'].'</td>';
    echo '<td>'.$rows['timestamp'].'</td>';
    echo '<td><form method="post" action="deletenote.php" ><input type="hidden" name="noteID" value="'.$rows['noteID'].'"><input type="submit" name="submit" value="Delete"></form> </td>';
    echo '</tr>';
}
//开始循环表行
while($rows=mysql\u fetch\u array($result)){
回声“
”; 回声'; 回显'.$rows['title'].'; 回显'.$rows['noteID'].'; 回显'.$rows['note'].'; 回显'.$rows['timestamp'].'; 回声'; 回声'; }
另一种方法是只为每篇文章提供一个删除链接:

// Start looping table row
while($rows=mysql_fetch_array($result)){
    echo '<br>';
    echo '<tr>';
    echo '<td>'.$rows['title'].'</td>';
    echo '<td>'.$rows['noteID'].'</td>';
    echo '<td>'.$rows['note'].'</td>';
    echo '<td>'.$rows['timestamp'].'</td>';
    echo '<td><a href="//example.com/deletenote.php?id='.$rows['noteID'].'">Delete</a></td>';
    echo '</tr>';
}
//开始循环表行
while($rows=mysql\u fetch\u array($result)){
回声“
”; 回声'; 回显'.$rows['title'].'; 回显'.$rows['noteID'].'; 回显'.$rows['note'].'; 回显'.$rows['timestamp'].'; 回声'; 回声'; }

请记住,
deletenote.php
必须验证用户是否已登录并具有删除帖子的权限。

另一种方法是为每篇帖子提供一个删除链接:

// Start looping table row
while($rows=mysql_fetch_array($result)){
    echo '<br>';
    echo '<tr>';
    echo '<td>'.$rows['title'].'</td>';
    echo '<td>'.$rows['noteID'].'</td>';
    echo '<td>'.$rows['note'].'</td>';
    echo '<td>'.$rows['timestamp'].'</td>';
    echo '<td><a href="//example.com/deletenote.php?id='.$rows['noteID'].'">Delete</a></td>';
    echo '</tr>';
}
//开始循环表行
while($rows=mysql\u fetch\u array($result)){
回声“
”; 回声'; 回显'.$rows['title'].'; 回显'.$rows['noteID'].'; 回显'.$rows['note'].'; 回显'.$rows['timestamp'].'; 回声'; 回声'; }

请记住,
deletenote.php
必须验证用户是否已登录并具有删除帖子的权限。

不要再使用mysql函数了!它是旧的,弃用的,不安全的,在php7中删除。使用mysqli或PDO!循环正在覆盖$todelete VARIABLE我看不到从…中删除。。。。。那么,我们如何知道这是否也失败了呢?您有一堆按钮,它们都提交相同的表单。确保以某种方式传递要删除的便笺的id。另外,请注意,表单从未关闭,因此您正在嵌套表单,可能会产生副作用。最后,对
mysql\u query
mysql\u
API中的其他函数进行了说明。如果您正在学习,请了解实际使用的API,如PDO(我的建议)或mysqli*。另外,
不能成为
的子级。不要再使用mysql函数了!它是旧的,弃用的,不安全的,在php7中删除。使用mysqli或PDO!循环正在覆盖$todelete VARIABLE我看不到从…中删除。。。。。那么,我们如何知道这是否也失败了呢?您有一堆按钮,它们都提交相同的表单。确保以某种方式传递要删除的便笺的id。另外,请注意,表单从未关闭,因此您正在嵌套表单,可能会产生副作用。最后,对
mysql\u query
mysql\u
API中的其他函数进行了说明。如果您正在学习,请了解实际使用的API,如PDO(我的建议)或mysqli*。另外,
不能成为
的子项。可能是您在隐藏字段中缺少名称。可能是您在隐藏字段中缺少名称。已排序!传奇人物排序!传奇