我有一个下载页面。会员可以自由点击他们购买的歌曲并开始下载。我现在希望在同一时间发生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.';
}
?>
谢谢你。最好的问候,亨氏
您不需要Ajax。在get-download-files.php脚本中,在将文件交付给浏览器之前更新数据库。
你试过吗?
<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>