我在尝试让系统计算文件下载次数时遇到问题。该网站有下载按钮链接到存储在我的数据库中的文件,我希望能够计算每个文件的下载量,以显示为统计数据,理想情况下,一旦他们点击链接下载,列中的文件表应该递增,但我不能这样做。我是php的初学者。有人可以帮帮我吗?这是我显示文件的代码。
<h3 class="box-title">Senarai Borang Cuti</h3>
<p> </p>
</div><!-- /.box-header -->
<div class="box-body">
<!-- Advanced Tables -->
<div class="table-responsive">
<?php
$raw_results = mysql_query("SELECT * FROM document WHERE doc_jenisfail= 'Cuti';");
?>
<table width="98%" class="table table-striped" id="dataTables-example">
<thead>
<table width="600" border="1">
<tr>
<th width="190" bgcolor="#756E37"class="sw" style="text-align: centre" scope="col">Tajuk Borang</th>
<th width="30" bgcolor="#756E37" class="sw" style="text-align: centre" scope="col">Tarikh Upload</th>
<th width="30" bgcolor="#756E37" class="sw" style="text-align: centre" scope="col">Memuat Turun</th>
</tr>
</thead>
<tbody>
<?php
while($results = mysql_fetch_array($raw_results)) { ?>
<tr>
<td align="left"><?php echo $results['nama_file'];?></td>
<td align="center"><?php echo $results['tanggal_upload'];?></td>
<td align="center"><a href="admin/<?php echo $results['file'] ?>" target= "_blank"><img src="images/download.png?key=<?php $results['nama_file'] ?>" /></a></td>
</tr>
<?php } ?>
</tbody>
</table>
</p></td>
答案 0 :(得分:0)
您可以在数据库中为下载添加+1,然后重定向到文件。
在您的模板中使用download.php?id=1
之类的链接,用于下载ID为1的文件。
Download.php代码:
<?php
//name of file: download.php
$id = $_GET['id'];
//Check if the get number is really a number
if (ctype_digit($id)) {
//Add +1 to downloads
mysql_query("update `document` set `downloads`=`downloads`+1 where id='$id'") or die(mysql_error());
//Redirect to downloads
$download_file = mysql_fetch_array(mysql_query("select * from document where id='$id'")) or mysql_error();
header("Location: http://example.com/pdfs/$download_file[name].pdf");
} else {
echo 'Wrong link';
}
?>