2011-11-17 140 views
0

我有这个代码从mysql数据库中获取内容。从mysql内容中删除内容

所以基本上,会发生什么是数据库中的foreach行,它创建了一个div中的内容。但是,我希望用户能够删除帖子,但我根本无法让我的头怎么做。

这是代码:

while($row = mysql_fetch_assoc($query)) 
{ 
    $contents= $row['contents']; 
} 
echo '<div class = "post" style = "margin-right: 300px;">'.$contents.'<br><p>DELETE -- HOW CAN I DO THIS??</p></div>'; 

基本上,这样做是什么让每次行的内容。但我希望用户能够点击删除它,并删除包含内容的div,并将其从数据库中删除。

我试图简单地删除DIV,但删除所有的div,我点击了删除我怎么能做到这一点,我不关心如何不只是一个。

谢谢。如果信息太多,我很抱歉,或者我问得太多。

回答

0

我已经找到了该做什么。

这里是我做过什么:

while($row = mysql_fetch_assoc($query)) 
{ 
    $contents= $row['contents']; 
    $contentID = $row['contentID']; 
} 
echo '<div class = "post" style = "margin-right: 300px;">'.$contents.'<br><a href = "delete.php?id='..$contentID'">X</a></div>'; 

而且在delete.php我有这样的事情:

$id = 1; 
mysql_query("DELETE FROM table_name WHERE $contentID = $id"); 
+0

您处在正确的轨道上,但请注意您的解决方案(a)易受[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)攻击和(b)任何用户可以用他或她希望的任何ID调用delete.php(因此删除你的数据库中的所有内容!)。 – Jeroen

0

您需要输出一个[删除]链接,将用户发送回服务器以实际执行删除。从MySQL中删除将作为一个单独的请求发生。处理该请求的PHP代码将必须构建适当的DELETE FROM表WHERE id = $ id类型的SQL语句,然后执行该操作。一旦完成,您必须刷新显示,以便该项目不再列出 - 最简单的方法是简单地重定向回您已有的页面。

+0

对不起,这不回答我的问题,因为当我点击删除,它会删除所有的div,而不仅仅是1 –

+0

好吧,您必须共享删除代码,以便为您解决具体问题。 –

+0

@Hellaella你如何删除div?您在示例中添加的任何代码都不会执行任何DOM操作。 –

0

如果你添加一个类说 “删除”,以P标签

<p class="delete">DELETE -- HOW CAN I DO THIS??</p> 

然后,你可以删除这样的股利,例如:

$(".delete").click(function(){ $(this).parent().remove(); }); 

注:

您仍需要一些额外的功能,例如AJAX调用,才能从数据库中删除帖子,而不仅仅是从DOM中删除帖子。