Настройка базы данных для отслеживания того, какие пользователи нажали на какие ссылки?

Я попытаюсь подробнее разобраться с моей проблемой.

Недавно я получил начальную позицию на уровне разработчика в моем университете, пытаясь обострить свои навыки. Хотя я использовал MySQL в прошлом, он был кратко рассмотрен только в одном курсе, так как я в основном парень-фронт (HTML/CSS/JS).

В любом случае, отдел, который нанял меня, имеет веб-сайт, предназначенный для входящих студентов, чтобы получить их в колледже. У него есть обучающие программы и видеоролики для их просмотра и т.д. Чтобы получить доступ к сайту, они должны войти в свою университетскую учетную запись (которая использует LDAP). Имена учетных записей указаны в формате abc1234.

Теперь, моя проблема в том, что мне нужно создать способ для сотрудников отслеживать, какие учебники/видео, которые наблюдал новичок. Они хотели бы, чтобы я сделал это с помощью баз данных. Там потенциально будут тысячи студентов, и они хотят видеть, какие именно ученики имеют/не нажимали на каждую ссылку/смотрели каждое видео.

Как мне настроить базы данных для этого? Там будет несколько ссылок/учебников/видео, которые они хотят отслеживать. Бонусные баллы, если есть способ отслеживать, какие пользователи просматривали видео до конца, однако не требуется.

Я считаю, что мне нужно будет использовать PHP для обработки обмена между браузером и базой данных, правильно?

Спасибо за помощь или советы.:)

Ответ 1

Вы могли бы просто создать PHP script, который мог бы получить запрошенную ссылку для них, а также добавить значение для MySQL.

Если бы я собирался сделать это, я бы, вероятно, сделал бы что-то вроде этого:

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

И в PHP я просто получаю ресурс, тип и идентификатор пользователя из сеанса, помещаю их в базу данных, а затем извлекаю ресурс, который они искали. Чтобы отслеживать, просмотрели ли они весь видеоролик, вы можете использовать javascript для просмотра события, когда игрок подходит к концу, а затем просто используйте скин, который не имеет панели для очистки.

Ответ 2

вам нужна, например, таблица "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;
?>

Ответ 3

Интересный проект. Вы должны извлечь пользователя с текущей доступной страницы и сохранить в журнале посещенных страниц (в базе данных) для каждого пользователя.