Вы можете создать скрипт download.php, который будет подсчитывать ваши ссылки для скачивания.
<?php
// connect to database
if (isset($_GET['file'])) {
$file = mysql_real_escape_string($_GET['file']);
$query = "insert into downloads VALUES('$file', 1) on duplicate key " .
"update count = count + 1;, count+1)";
mysql_query($query);
}
?>
Таблица загрузок:
create table downloads(file VARCHAR(255) primary key, count integer default 1)
и в jQuery
$('a.download').click(function() {
//empty function don't care what I get.
$.get('download.php', {file: $(this).attr('href')}, function() {});
});
он вызывает скрипт download.php с атрибутом href для каждой ссылки, имеющей класс загрузки
UPDATE Я забыл добавить return false, потому что в коде выше он вызывает ajax, а затем прерывает его.
$('a.download').click(function() {
var link = $(this).attr('href');
$.get('download.php', {file: link}, function() {
// change url to link when ajax is finished
window.location = link;
});
// prevent following the link
return false;
});
Вы также можете добавить код, который предотвращает многократные клики, потому что будет задержка между завершением вызова ajax и изменением URL на ссылку элемента (пользователь может щелкнуть несколько раз, потому что он не будет следовать за ссылкой), и вы можете добавитьCTRL + щелчок, потому что он открывает ссылку в другом окне (в этом случае вы можете вернуть true).