2013-09-18 2 views
0

У меня есть оператор SQL, который выводит таблицу учебных ресурсов, хранящихся в базе данных MySQL. Я могу вывести список учебных ресурсов в таблицу, это нормально. Я могу использовать ряд гиперссылок, по одному для каждого ресурса обучения, так что, когда вы нажимаете на гиперссылку, она загружает этот ресурс. Код для этого ниже:Гиперссылка для загрузки файла при нажатии и приращения поля для каждой загрузки, которая имеет место

echo '<a href="'.($row['resource_name_path']).'?res_id='.$row['resource_id'].'"style="color:#900">'.htmlspecialchars($row['hyperlink_resource_name']).'</a>'; 

Однако, каждый раз, когда кто-то нажимает на ссылку, я не просто хочу ресурс для загрузки, но я не хочу «нет загрузок» поля увеличивается на один в базе данных MySQL каждый раз, когда загружается учебный ресурс. Это позволит вам узнать, сколько раз каждый учебный ресурс был загружен, чтобы узнать, какой из них наиболее популярен. Вопрос в том, как?

Гиперссылка выше позволяет загрузить учебный ресурс, но затем как я могу разрешить загрузку и запустить инструкцию SQL для обновления поля без загрузки? ??? Могу ли я запустить PHP-функцию, вызвав ее с помощью javascript, не выходя из страницы?

Это похоже на миссию для меня невозможным, поэтому любой совет был бы благодарен, и в первый раз здесь, так что легко!

+0

Вы можете сделать ссылку на страницу PHP, которая может увеличить загрузку по 1 с запросом, а затем перенаправить на ссылку для загрузки с помощью 'header ('Location : '. htmlspecialchars ($ row [' hyperlink_resource_name '])) ' , и они даже не узнают, что он увеличил его :) – TheNytangel

+0

Кроме того, возможно, вы могли бы сделать ссылку« echo »Link', а затем вы можете использовать '$ _GET [ 'дл'] ' – TheNytangel

ответ

0

Да, вы можете запустить скрипт php с помощью javascript для обновления таблицы MySql. Используйте AJAX для этого, чтобы вам не пришлось покидать страницу.

Попробуйте воспользоваться примером кода AJAX для Google, чтобы узнать, как его использовать.

0

Просто мысль ... но мне очень не нравится увеличивать количество полей в любой базе данных. То, что обновляется, не всегда понятно, и подсчеты могут идти вбок с 0 бумажной дорожкой для устранения неполадок. Вместо того, чтобы увеличивать поле, почему бы не создать таблицу с именем «загрузки» или что-то такое, что содержит одну строку для каждой загрузки вместе с идентификатором, чтобы сопоставить ее с загружаемым ресурсом. Чтобы получить общее количество загрузок из этой настройки, используйте простой идентификатор select, count (1) из группы таблицы по id.

Вам все равно нужно запустить инструкцию «вставить» при нажатии ссылки, поэтому на самом деле это не работает как ответ на ваш вопрос .... но теперь у вас будет таблица с одной строкой за загрузку который можно легко просмотреть как подтверждение на ваш номер счета загрузки

Смежные вопросы