超链接以在单击时下载文件,并为每个下载增加一个字段
Hyperlink to download a file when clicked, and increment a field for each download that takes place
我有一个SQL语句,它输出存储在MySQL数据库上的教学资源表。我可以在表格中输出教学资源列表,这很好。我可以使用一系列超链接,每个教学资源一个,这样当您单击超链接时,它会下载资源。代码如下:
echo '<a href="'.($row['resource_name_path']).'?res_id='.$row['resource_id'].'"style="color:#900">'.htmlspecialchars($row['hyperlink_resource_name']).'</a>';
但是,每次有人单击超链接时,我不仅希望下载资源,而且我希望每次下载教学资源时,MySQL数据库中的"下载次数"字段都增加一个。这将使您知道每个教学资源被下载了多少次,以查看哪个最受欢迎。问题是怎么做?
上面的超链接允许下载教学资源,但是我如何"允许下载"并运行SQL语句来更新下载次数"字段???我可以在不离开页面的情况下运行一个 PHP 函数,使用 javascript 调用它吗?
这对我来说似乎是不可能的任务,所以任何建议都将不胜感激,这是第一次在这里,所以放轻松!
是的,您可以使用javascript运行php脚本来更新MySql表。使用 AJAX 执行此操作,这样您就不必离开页面。
尝试谷歌搜索 AJAX 代码示例以了解如何使用它。
只是一个想法...但我真的不喜欢在任何数据库中增加计数字段。 更新的内容并不总是很清楚,计数可以横向移动,0 书面记录以解决原因。 与其递增字段,不如创建一个名为"downloads"的表或类似程度的表,该表包含每次下载的单行以及将其映射到正在下载的资源的 ID。 要从此设置中获取总下载计数,请使用一个简单的选择 id,从表中按 id 分组的 count(1)。
单击链接时,您仍然需要运行"插入"语句,因此这并不能真正作为您问题的答案。但是现在,您将拥有一个表格,每次下载一行,可以很容易地将其视为对下载计数的验证
相关文章:
- JQuery使计数器每次更改时都会增加
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- 如何使用javascript或html下载PDF格式的填写表单
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 通过php页面中的js强制下载txt
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 如何增加同时按键总数
- 通过javascript下载文件时设置文件名
- 如何使用css动画从中心增加边界线
- 如何在Edge中下载图像/png数据URI
- 下载使用POST数据动态生成的文件
- 在提交时打开thankyou.html+下载PDF
- HTML锚标记无法在android平台中下载文件
- JavaScript:单击时相对于父级增加变量值
- PERL-下载CSV文件不完整
- PaperJS-增加矢量幅度
- 超链接以在单击时下载文件,并为每个下载增加一个字段