php - 按用户跟踪/验证/更新 MySQL 结果

标签 php mysql

我有一个时间表数据库,志愿者可以在其中查看他们的类次。我将通过电子邮件向他们发送一个链接,指向他们将电子邮件地址输入到 HTML 表单中以访问此信息的页面。

有没有一种方法可以跟踪查询了哪些电子邮件,以便我可以将计划链接重新发送给那些没有访问过数据库的人?

如有必要,我可以在结果中添加一个额外的“已确认”复选框,并更新数据库。我喜欢这个想法,但我不确定如何实现(或该操作的术语)。

编辑:这是我用来实现的代码。但是我没有在 confirmed 列中得到结果。

                $db = new mysqli("host", "user", "pass", "db");

    $stmt = $db->prepare('UPDATE volConfirm SET confirmed = TRUE WHERE email = ?');
    $stmt->bind_param('s', $_POST['email']);
    $stmt->execute();

    $stmt = $db->prepare('SELECT * from volConfirm WHERE email = ?');
    $stmt->bind_param('s', $_POST['email']);
    $result = $stmt->get_result();
    while ($row = $result->fetch_array(MYSQLI_NUM)) {
    // construct your output here using $row to access database record
    echo "<h2>" . $row['agreeName'] . "</h2>";
    echo "<p> You have been assigned as a volunteer for:" . $row['position'] . "</p>";
    echo "<p>Your shift times are scheduled for:" . $row['shift_times'] . "</p>";
    echo "<p>Your shift has been confirmed:" . $row['confirmed'] . "</p>";
    }

最佳答案

您需要按照以下方式做一些事情:

  1. 在您的志愿者表中添加一个新列

    ALTER TABLE Volunteers ADD COLUMN Confirmed BOOLEAN NOT NULL DEFAULT FALSE;
    
  2. 让提交页面中的 PHP 更新该列:

    UPDATE Volunteers SET Confirmed = TRUE WHERE Email = 'foo@bar.com';
    

    在您的代码片段中:

    $db = new mysqli("dbhostname", "username", "password", "dbschema");
    
    $stmt = $db->prepare('UPDATE volConfirm SET confirmed = TRUE WHERE email = ?');
    $stmt->bind_param('s', $_POST['email']);
    $stmt->execute();
    
    $stmt = $db->prepare('SELECT * from volConfirm WHERE email = ?');
    $stmt->bind_param('s', $_POST['email']);
    $result = $stmt->get_result();
    
    while ($row = $result->fetch_array(MYSQLI_NUM)) {
      // construct your output here using $row to access database record
    }
    
  3. 在未来的某个时刻,获取尚未访问该页面的所有用户的列表:

    SELECT Email FROM Volunteers WHERE Confirmed = FALSE;
    

关于php - 按用户跟踪/验证/更新 MySQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299363/

相关文章:

php - 销毁 $_SERVER session ?

php - Laravel - 使用@section 动态设置元标签

php - 简单的 php + mysql 从数据库中打印一个变量

mysql - 从另一个表插入多行mysql

mysql 唯一(多个键)

mysql - 如何管理mysql表与日期的关系

java - 使用实体管理器查询日期

php - 将 MySQL 查询转换为可能为空值的准备语句

php - 在右侧对齐图像

mysql - Mac OS SQL Server 需要安装吗?