2010-03-30 58 views
1

我正在为我的用户编写类似电子邮件的东西。我想让人们选择字母并删除所选内容。我该怎么做?我无法想象我只能用一个MySQL查询来做到这一点。它甚至有可能吗?选择并删除已选中

+0

我认为我们需要更多地了解您要完成的任务。如果可能的话,更好的描述可能有助于举例说明。 – 2010-03-30 18:37:31

+0

你可以请你重述一下你的问题吗?我不明白一个字。 – 2010-03-30 18:37:39

+1

@Pekka:我的基于网页的电子邮件客户端,如Gmail/Hotmail /等。但他的问题毕竟太广泛了。听起来好像他被扔进了一个深坑,试图依靠别人来解释东西和/或为他工作。 @Donator:我建议一步一步学习所有单独的概念。首先让HTML正确。然后CSS。然后JS。然后PHP。然后SQL。然后邮件。然后做数学。 – BalusC 2010-03-30 18:40:14

回答

2

如果通过“选择”和“删除”你的意思是SQL命令SELECTDELETE,那么你不需要同时选择和删除。首先运行一个SELECT来显示电子邮件并允许用户选择他们想要删除的邮件。然后使用电子邮件的ID(通常是隐藏字段)以WHERE id IN (..., ..., ...)运行DELETE。

+0

这绝对是我所需要的。非常感谢你。 ;) – 2010-03-30 18:42:37

+1

我认为Jesse的评论在这里值得重申:请记住检查用户是否只能删除自己的电子邮件。不要盲目信任用户的id列表 - 通过在WHERE子句中添加适当的检查来强制执行它。 – 2010-03-30 18:52:21

0

需要一个查询才能列出他们的电子邮件,但是一旦您获得用户选择的唯一标识列表,您就可以对每封电子邮件运行一个删除查询。

1

DELETE $table_name WHERE id in ($ids)应该做你的删除。一枪。所以你需要得到所有的身份证的记录,即时通讯假设是以某种方式编码到您的HTML作为任何元素的ID,类或价值属性的一部分..

+0

这会起作用,但很难正确参数化该查询以避免SQL注入问题。如果你走这条路线,一定要清理输入(确保每个id中的值都是正确的类型),并且不要忘记限制正确用户的删除查询,这样用户就不会删除彼此的电子邮件。 类似于: DELETE FROM Email WHERE Email.id IN($ ids)AND Email.user = $ username – 2010-03-30 18:41:35

+0

Jesse,我会对SELECT做同样的处理,使用WHERE IN。这是不是一个问题,检查是否删除自己的电子邮件或不:) – 2010-03-30 18:46:05