从javascript运行php更新文件
Run a php update file from javascript
当点击表中的链接时,我正试图运行对mysql的更新。为此,我制作了3个文件:
movies.php
<html>
<head>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen" />
<script src="video.js" type="text/javascript"></script>
</head>
<?php
include 'combo_new.php';
include 'config.php';
include 'opendb.php';
$ndate = $_POST['ndate'];
$result = mysql_query("SELECT *
FROM DayMovie
WHERE FileDate LIKE '$ndate%' ORDER BY FileDate DESC")
or die(mysql_error());
echo "<table border='0'>";
echo "<tr> <th>Dato</th><th>Visninger</th><th>Handling</th></tr>";
while($row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo date('d.m.Y', strtotime($row['FileDate']));
echo "</td><td>";
echo $row['Counter'];
echo "</td><td>";
echo "<a href='alldaymovies/{$row['FileName']}' onclick='playVideo(this.href, {$row['FileName']});' onkeypress='playVideo(this.href, {$row['FileName']});'>Se film</a>";
echo "</td></tr>";
}
echo "</table>";
include 'closedb.php';
?>
</html>
video.js
function playVideo(filename)
{
$.post( "update.php" {"filename":filename},
function( data ) {
alert( "Data Loaded: " + data );
});
}
update.php
<?php
include 'config.php';
include 'opendb.php';
$filename = $_POST['filename'];
$result = mysql_query("UPDATE DayMovie SET Counter=Counter+1 WHERE FileName='$filename'")
or die(mysql_error());
include 'closedb.php';
?>
然而,这里有一些不正确的地方。。。有人看到我哪里出错了吗?
问题可能是,在对update.php的调用完成之前,您的用户已经重定向到另一个页面。请记住,如果您将浏览器重定向到另一个页面,则繁忙的请求将被取消。
若要测试这是否真的是问题所在,请尝试将"a"元素的href替换为"#"。并将您的播放视频功能更改为如下所示:
function playVideo(filename)
{
$.post( "update.php" {"filename":filename},
function( data ) {
alert( "Data Loaded: " + data );
setTimeout(function(){ document.location.href="alldaymovies/" + filename;}, 300);
});
}
相关文章:
- 通过CSV文件上载更新数据库表
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- Glassfish没有更新JavaScript文件
- JavaScript 不会更新文件
- 如何更新文件中的 JSON 数据
- 从javascript运行php更新文件
- 通过 IFrame 更新文件时的错误处理
- 无法通过 nodejs 读取更新文件的属性
- 节点.js更新文件中的 JSON 数据
- 露天更新文件 - 错误开机自检
- 为对事件更新文件的相同调用刷新浏览器缓存
- 在javascript中部分更新文件上传页面
- 上传或更新文件匹配表中行的objectId
- Filereader API在第一次更改后没有更新文件
- 更新文件时不需要重启Node.js中的服务器
- 插入和更新文件在谷歌驱动器与javascript
- 驱动器API:更新文件时的DeadlineExceededException
- 更新文件时触发来自 gulpfile 的更新
- Ajax打开(post)不更新文件
- 如果修改了Nginx更新文件