设置数据库以跟踪哪些用户点击了哪些链接?

时间:2012-04-17 21:34:13

标签: php mysql html sql

我会尝试再详细说明我的问题。

我最近在我的大学获得了一个初级兼职开发人员职位,以提高我的开发技能。虽然我过去使用过MySQL,但它只是在一门课程中简单介绍过,因为我主要是一个前端人(HTML / CSS / JS)。

无论如何,雇用我的部门有一个专为新生设计的网站,让他们适应大学。它有教程和视频供他们观看等。为了访问该网站,他们必须登录到他们的大学帐户(使用LDAP)。帐户名称的格式为abc1234。

现在,我的问题是我需要为员工创建一种方式来跟踪新生看过的教程/视频。他们希望我使用数据库来做到这一点。可能会有成千上万的学生,他们希望能够确切地看到哪些学生已经/没有点击每个链接/观看过每个视频。

我应该如何为此设置数据库?他们想要跟踪多个链接/教程/视频。如果有一种方法可以跟踪哪些用户观看了视频直到最后,则奖励积分,但不是必需的。

我相信我需要使用PHP来处理浏览器和数据库之间的交换,对吗?

感谢您提供任何帮助或提示。 :)

3 个答案:

答案 0 :(得分:4)

您可以简单地创建一个PHP脚本来检索它们所请求的链接,同时还为MySQL添加一个值。

如果我打算这样做,我可能会做这样的事情:

<a href="getResource.php?res=video1.mpg&type=video">Video 1</a>

在PHP中,我只是从会话中获取资源,类型和用户ID,将它们放入数据库,然后检索他们正在寻找的资源。要跟踪他们是否全程观看了视频,您可以使用javascript来观看播放器即将结束的事件,然后只使用没有擦洗条的皮肤。

答案 1 :(得分:3)

例如,您需要一个表“users:id,name,etc ...”和一个表“clicks:user_id,url”。

跟踪链接点击,您可以执行以下操作:

<a hreF="log_click.php?url=<?php echo urlencode("some_url?some=param&etc=anything"); ?>">

<强> log_click.php

<?php
$url = $_GET['url'];
$user = /* ie. $_SESSION['user_id'] */
/* insert to database */
header('Location: '. $url); // maybe need urldecode($url) here
exit;
?>

答案 2 :(得分:0)

有趣的项目。您应该从当前加入的页面中提取用户,并将其存储在每个用户的访问页面日志中(在数据库中)。