【问题标题】:How can i retrieve random row each time PHP, MySQL每次PHP,MySQL如何检索随机行
【发布时间】:2018-11-19 16:53:11
【问题描述】:

我想实现“验证”功能将用户带到某个页面,因此我的数据库中有验证表,其中包含以下列

  1. 身份证
  2. 代码
  3. Used_code
  4. 状态

所以code列有随机数,使用后会移动到使用过的代码,status列会有0或1来判断代码是否被使用过。

起初我认为创建used code 列是个好主意,这样当一个人输入代码时,将检查他们是否首先使用并抛出错误。

如果您有任何建议,请与我们分享是否使用 for 循环等,但是 for 循环不会检索随机行,它可以只是每次检索新 id 并检查是否使用行状态,只是任何人。谢谢。

【问题讨论】:

  • 有多少行,您预计最多可以拥有多少行?
  • 我有 1000 行,10,000 是最大值

标签: php html css mysql sql


【解决方案1】:

如果您的新功能包含在另一个模块中,则它不一定需要新表。为了验证用户,我将在用户行中有一个带有代码的验证列。一旦用户以任何方式使用安全代码访问并验证了唯一链接,我会将验证设置为 NULL。

如果您的实现与奖励系统不同,您不妨使用 ['id' => $myId, 'usr' => $user, 'code' => $code, 'used-status' =>真 || false] 请记住 MySQL 结构是开源的,您可以向数据库询问任何您想要的问题。您只需要在应用程序范围内更新您的表。

要确定代码是否与您的结构一起使用,我建议使用 UPDATE 查询。当您的函数通过 ajax 或 http 触发时,应该会发生 INSERT。

//INSERT: This occurs when the user clicks enter and a random code is sent to the database and the user's email and/or phone
$insert = mysqli_query($con, "INSERT INTO activity (id, usr, code, status) VALUES ('{$UNIQUEID}', '$userid', '0314f5s4f14', 0)") ? null : die();

//UPDATE: This occurs when the user clicks the link in their text messages or email which sets the code to used status.
$update = mysqli_query($con, "UPDATE verification SET status='1' WHERE 
id='".$_SESSION['id']."'") ? null : die();

//HINT: use json for client to server applications, research progressive web apps.
$data = array('_POST' => $_POST, '_SESSION' => $_SESSION, 'sql' => $sql, 'dlt' => $dltq);
print json_encode($data); unset($data); mysqli_close($con);

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多