0

我有一个下载页面。会员可以自由点击他们购买的歌曲并开始下载。我现在希望同时发生一个 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.'; 
}
?>

我谢谢你。最好的问候,亨氏

4

2 回答 2

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>
于 2013-03-07T16:03:52.223 回答
0

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

于 2013-03-07T16:00:43.867 回答