带有JQuery请求的下载页面

时间:2013-03-07 15:55:54

标签: php jquery

我有一个下载页面。会员可以免费点击他们购买的歌曲并开始下载。我现在希望在同一时间发生Ajax请求,它会调整数据库中的下载次数。然后应该从数据库重新加载到计数器页面再次更新。如果计数器为零,则不再下载。 显然我的脚本不起作用。下载发生了,但JQuery-Script不起作用。有人有解决方案吗?

这是下载页面的链接:

<a href="get-download-files.php?file=xyz.zip"><img class="a_0" src="images/download.png" width="30" height="30" />XYZ-Song/a>

这是同一页面上的Java脚本:

<script>
$(document).ready(function(){
    $(".a_0").click(function(){
        $.get("zaehler.php?dl_id=1", function(data){
            $("#ausgabe").html(data);
        });
    });

});
</script>

这是请求文件:

<?php 
require_once 'includes/db_login.php';
$dl_id = $_REQUEST['dl_id'];

// counter updaten
$sql = 'UPDATE ' . $tbl_prefix . 'downloads 
        SET zaehler   = zaehler - 1                
        WHERE dl_id  = ' .$dl_id;
mysql_query($sql);
$abfrage = 'SELECT zaehler FROM ' . $tbl_prefix . 'downloads WHERE dl_id=' . $dl_id;
$ergebnis = mysql_query($abfrage);
while ($datensatz = mysql_fetch_array($ergebnis, MYSQL_ASSOC))
{
    echo '<h3 style="color:#333;">Dein Download-Stand</h2>';
    echo '<br /><br />Du hast noch ' . $datensatz['zaehler'] . ' Downloads zugut.'; 
}
?>

我感谢你。最好的祝福, 亨氏

2 个答案:

答案 0 :(得分:0)

你不需要Ajax。在脚本get-download-files.php中,在将文件传送到浏览器之前更新数据库。

答案 1 :(得分:0)

你试过这个吗?

<script>
$(document).ready(function(){
    $(".a_0").click(function(){
        $("#ausgabe").load("zaehler.php?dl_id=1");
    });

});
</script>

您可以通过在函数中添加alert()来检查代码是否已执行。如果警报触发,则执行该功能。

<script>
$(document).ready(function(){
    $(".a_0").click(function(){
        alert('Function is fired!'); // Debug
        $("#ausgabe").load("zaehler.php?dl_id=1");
    });

});
</script>