如何在查看链接时更新MySQL datetime字段

时间:2013-12-14 17:58:37

标签: php mysql

我为我的妻子创建了一个网站。她将pdf文件上传到它,然后与她的老板分享这些文件。我有网站将文件上传到亚马逊S3,以及处理路径,用户密码和用户名等的MySQL数据库......

我的妻子想知道她的老板何时查看她发布的文件之一。

我能想到的唯一方法是将查看器发送到他们的文档,而不是将其发送到带有$_POST数据的php页面。让该页面对MySQL进行更新,然后将查看器转发到他们请求的文档。

这似乎有点多了。有更简单的方法吗?

3 个答案:

答案 0 :(得分:0)

您还可以添加一些分析工具,它实际上会做类似的事情。即将Google Analytics与该网页相关联,并跟踪pdf链接点击事件。

答案 1 :(得分:0)

我会在POST上使用GET,因此您可以通过电子邮件发送文档的链接。除此之外,没有更简单的方法可以做到这一点。

例如,如果您使用网络分析工具,则还需要带有SELECT的PHP脚本。在这种情况下,如果您实施分析工具或为UPDATE执行第二次SQL查询,我认为这是同样的努力;)

顺便说一下,这不是那么多工作。这是一个快速且非常非常糟糕的例子。它没有经过测试,但我只是想告诉你,你可以使用大约15行代码;)我假设一个表“文档”,其中包含id,url和last_access以及一个PHP脚本,该脚本通过ID发送给boss参数:doc.php?id = 1

$id = (int)$_GET['id'];
$select_sql = "SELECT `url` FROM `documents` WHERE `id` = " . $id . ";";
$result = mysql_query($select_sql);

if (!$result) {
  die(mysql_error());
}

$row = mysql_fetch_array($result);

if ($row) {
  $update_sql = "UPDATE `documents` SET `last_access` = NOW() WHERE `id` = " . $id . ";";
  mysql_query($update_sql);
  header('Location: ' . $row[url]);
} else {
  echo 'Not Found';
}

答案 2 :(得分:-4)

整个事情似乎有点过头了。使用Google云端硬盘等服务可以为您节省很多麻烦。

如果您需要视图通知功能,是的,用于服务实际PDF文件的PHP文件(也可以更新数据库)或发送电子邮件是可行的方法。不需要使用POST。

或者,检查亚马逊是否保留了查看文件的记录。