【问题标题】:Move details from one table to another one when confirmation is done [sql]确认完成后将详细信息从一个表移动到另一个表 [sql]
【发布时间】:2013-10-26 08:24:35
【问题描述】:

我有一个注册码,可以将用户详细信息插入到我选择的表格中。

问题是我给用户添加了一个“确认码”,所以每个帐户都需要通过他的邮件来验证他的用户。确认完成后,“确认”栏变为“已确认”。如果用户没有验证他的帐户,确认码将留在“确认”列。

问题是我在html中做了一个表格,它使用数据库来显示活跃用户。

我不希望未确认的用户出现在tbale中,所以我尝试添加一些条件:

$cu = mysql_query("SELECT * FROM `users` where uname='$uname' && confirmation='confirmed'");
$cu = mysql_fetch_array($cu);

还有一个:

$select2 = mysql_query("SELECT * FROM `users` WHERE uname='$uname' && confirmation='confirmed'");

它的工作.. 但只是一半。我的意思是,当未确认的用户尝试登录时,它会向他显示一个空白页面。没关系,因为我不希望未经确认的用户登录。 但是...已确认的用户仍然在活动用户表中看到未确认的用户..

就像表格甚至不检查用户是否被确认,它只是向他显示任何一种方式。

因此,我想到了一种将用户移动到另一个表的方法,称为“保留”,它将包含所有未确认的用户。然后,每个要验证他的帐户的用户,sql 都会识别它,当确认列更改为“已确认”时,它会将用户移动到“用户”表,因此他的名字将出现在活动用户表中.

我该怎么做?如果用户确认与否,我如何“使”sql表自动识别,并将他移动到另一个表..

或者..如果有什么方法可以从活动用户表中“隐藏”未确认的用户,也可以。

非常感谢:)

【问题讨论】:

  • 为什么?为什么不在 users 表上设置一个简单的状态标志?

标签: php html mysql sql database-design


【解决方案1】:

基本上,您需要设置一个 cron 来检查用户是否未被确认,然后移动到保持 tabe 或在任何用户被确认时在 mysql 中编写触发器。

【讨论】:

  • 是否可以在任何用户被确认时在 mysql 中设置触发器,它将把他移动到“用户”表?
【解决方案2】:

你可以得到最后一个结果,在最后一个结果之后插入。

看这个例子:

$sql = mysql_query("
INSERT INTO tabel_name(col1, col2,col3) values('foo','bar','some'); 
INSERT INTO table_name2(col,col2) SELECT col2,col3 FROM tabel_name 
ORDER BY id DESC LIMIT 1;
");

【讨论】:

    猜你喜欢
    • 2017-01-27
    • 2015-09-10
    • 1970-01-01
    • 2022-11-27
    • 2012-10-30
    • 2012-05-24
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    相关资源
    最近更新 更多