Настройка базы данных для отслеживания того, какие пользователи нажали на какие ссылки?
Я попытаюсь подробнее разобраться с моей проблемой.
Недавно я получил начальную позицию на уровне разработчика в моем университете, пытаясь обострить свои навыки. Хотя я использовал 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
Интересный проект. Вы должны извлечь пользователя с текущей доступной страницы и сохранить в журнале посещенных страниц (в базе данных) для каждого пользователя.