在没有cron作业的情况下连续运行php函数
Running php function continuously without cron job
我首先遇到了一个小问题,请忽略我的折旧函数。我正试图连续运行PHP函数。点击时我有一个按钮触发了一个正确运行的Ajax脚本。Ajax页面将类似内容插入到数据库中,但我需要向用户显示,他的类似内容已经计数,但在我重新加载页面之前,类似函数计数脚本不会更新,有没有一种方法可以让我不断地重新加载PHP函数,这样如果有任何新的类似程序进入数据库,它就会更新,提前感谢。
//php function for counting likes functions.php
function likes_count($postid){
set_time_limit(0);
$g = mysql_query("SELECT COUNT(*) FROM postlikes WHERE postid = $postid") or die (mysql_error());
$co = mysql_fetch_array($g);
$count = $co[0];
echo $count;
}
//like button index.php where the image post appears for the user to like
<button style="margin-left:13px;" id="<?php echo $postid;?>" class="col-md-5 n btn btn-default btn-xs like"><i id="f" class="fa fa-thumbs-o-up"></i> <span id="like_<?php echo $postid ?>"><?php echo likes_count($postid); ?> </span> Likes</button>
//
//ajax for calling the like page on index.php
<script>
$('.like').on('click', function (e){
var userid = "<?php echo $ida ?>";
var postid = $(this).attr('id');
if ((postid == "")) {
alert("no info bro");
} else {
$.ajax({
type: "POST",
url: "like.php",
data: {postid: postid, userid: userid},
cache: false,
});
}
e.preventDefault();
});
</script>
//like page it self like.php
<?php
include "connect.php";
mysql_select_db("unilag");
if(isset($_POST['postid'])) {
$postid=$_POST['postid'];
$id=$_POST['userid'];
$e = mysql_query("SELECT * FROM postlikes WHERE userid = $id AND postid = $postid") or die(mysql_error());
if(mysql_num_rows($e) > 0) {
// remove like&
$re = mysql_query("DELETE FROM postlikes WHERE userid = $id AND postid = $postid") or die (mysql_error());
$notify = mysql_query("DELETE FROM notification WHERE nfrom = $id AND type = 'like_post' AND postid = $postid") or die (mysql_error());
} else {
// like post
$re = mysql_query("INSERT INTO postlikes SET userid = $id, postid = $postid, date = now()") or die (mysql_error());
$rr = mysql_query("SELECT userid FROM post WHERE post_id = $postid");
$y = mysql_fetch_array($rr);
$iii = $y['userid'];
$notify = mysql_query("INSERT INTO notification SET nfrom = $id, nfor = $iii, type = 'like_post', postid = $postid, seen = 'no', date = now()") or die (mysql_error());
}
echo likes_count($postid);
}
?>
$('.like').on('click', function (e){
var userid = "<?php echo $ida ?>";
var postid = $(this).attr('id');
if ((postid == "")) {
alert("no info bro");
} else {
$.ajax({
type: "POST",
url: "like.php",
data: {postid: postid, userid: userid},
cache: false,
}).then(function(count){
$(".like-"+postid).text(count);
});
}
e.preventDefault();
});
您的like.php echo超出了点赞数,但您没有使用该值执行任何操作。在ajax调用中添加一个成功回调,并更新包含相同计数的元素
$.ajax({
type: "POST",
url: "like.php",
data: {
postid: postid,
userid: userid
},
cache: false
}).then(function(count){
$("#like_"+postid).text(count);
});
附带说明一下,您有echo likes_count($postid);
,但您的函数不返回任何内容,因此没有任何内容可回显,您已经回显了函数中的值。因此,在likes_count($postid)
之前不需要echo
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 如何连续运行计时器?(当你刷新时,不要从头开始)
- Javascript:监视队列/连续运行函数
- setTimeout 连续运行其函数
- 使用节点 JS 运行连续后台作业
- 在开发过程中自动连续运行 Jasmine 测试
- 在jQuery UI中,如何防止连续调用时运行数百万次的“脉动”效应
- 如何在追加数据并完成该数据的函数后连续运行函数
- 如何使 UI 线程连续运行
- 递归 setInterval() 连续运行
- JavaScript使用带有画布的setInterval连续运行函数
- 在没有cron作业的情况下连续运行php函数
- 连续运行功能,需要计数动作
- 两个连续的动画将不会在jQuery中运行
- 连续运行jQuery动画
- 使 Angular 控制器通过页面刷新连续运行
- setInterval 函数不在定时间隔上运行,只是连续重复,没有时间