首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除特定的mysql条目?

问如何删除特定的mysql条目?
EN

Stack Overflow用户
提问于 2012-03-18 01:54:04
回答 3查看 960关注 0票数 1

在我正在处理的项目中,用户有一个已生成的条目列表,这些条目存储在mysql数据库中。在这里,我通过显示与用户名匹配的所有条目来显示用户创建的所有条目或ideas。

我希望在每个删除的条目旁边都有一个删除按钮,当按下该条目时,只删除该条目。使用下面的代码,所有条目似乎都会立即被删除,不管是否按下了删除按钮。

代码语言:javascript
复制
<?php
$username = $_SESSION['Username'];
$result = mysql_query("SELECT * FROM `ideas` WHERE Username = '$username' ORDER BY `ideaID`") or die(mysql_error());
$row = mysql_fetch_row($result);

while($row = mysql_fetch_array($result))
{ ?>

<?php $id_num = $row[0] ?>
<b>Title: </b> <?= $row[2]?><br><b>Description: </b> <?= $row[3]?> <br>
<a onclick ="<?php mysql_query("DELETE FROM `ideas` WHERE ideaId = '$id_num'");?>">
<div id="deleteButton">delete</div></a>
<br><br>


<?php } ?>
EN

回答 3

Stack Overflow用户

发布于 2012-03-18 01:57:32

您误解了PHP的工作方式。文件运行后,所有的PHP代码都将被执行,其中包括删除的mysql_query。如果您编写<a onclick=或您所做的任何事情,这都不重要,这是HTML,对PHP来说是胡说八道。PHP只是输出它,而不是进一步的担心。

您想要的是用表单替换链接,该表单将您希望的ID提交到另一个PHP页面,然后执行delete MySQL查询。这个链接也可以通过后台发生的AJAX请求来实现。或者,您可以使用一个链接来完成同样的事情,但是这被认为是糟糕的风格。

作为帮助您理解为什么这不起作用的小练习,请看一下它生成的源代码。它只是一个空的<a onclick="">。如果PHP按照您的预期工作,那么应该在那里编写什么呢?

票数 1
EN

Stack Overflow用户

发布于 2012-03-18 01:58:44

问题就在这一行上:

代码语言:javascript
复制
              <?php mysql_query("DELETE FROM `ideas` WHERE ideaId = '$id_num'");

当它遍历循环时,mysql_query对每个项执行删除查询,这就是它被删除的原因。您只需生成一个指向delete.php并将记录id作为参数传递的链接,然后使用mysql_query(“delete.php页面中的删除代码”)。

票数 1
EN

Stack Overflow用户

发布于 2012-03-18 01:56:12

您必须使用AJAX或完整的回发从客户机向服务器发出单独的请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9755365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档