【发布时间】:2015-03-21 00:25:31
【问题描述】:
我使用 wordpress,并且我有一个从 sql 查询中获取的字段的静态数字。
<p class="counter-number">843</p>
我想每天增加这个数字。例如,当页面加载默认数字是 843 第二天它应该显示 844 之后它应该显示 845。
我该怎么做?我更喜欢 PHP,但如果可能的话也可以使用 jquery。
【问题讨论】:
我使用 wordpress,并且我有一个从 sql 查询中获取的字段的静态数字。
<p class="counter-number">843</p>
我想每天增加这个数字。例如,当页面加载默认数字是 843 第二天它应该显示 844 之后它应该显示 845。
我该怎么做?我更喜欢 PHP,但如果可能的话也可以使用 jquery。
【问题讨论】:
<?php
$now = time();
$your_date = strtotime("2010-01-01"); //Starting date
$datediff = floor(($now - $your_date)/(60*60*24));
?>
<p class="counter-number"><?=$datediff?></p>
代码取自Finding the number of days between two dates
这样,它将始终显示从开始日期到现在的差异,以天为单位。
【讨论】:
jQuery 答案
您必须设置开始日期以使其每天增加。我们的想法是获取日期差异并将其添加到该计数器。
HTML
<p class="counter-number">843</p>
jQuery
jQuery(function() {
// Get Starting Number
var starting_number = parseInt(jQuery('.counter-number').text());
// Create Day difference (because it increases by 1 each day)
var preset_start_date = new Date("21/03/2015");
var current_date = new Date();
var timeDiff = Math.abs(current_date.getTime() - preset_start_date.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
var final_counter = starting_number + diffDays;
jQuery('.counter-number').text(final_counter);
});
我没有测试过。但这是一个完成它的想法。
【讨论】:
对于您的情况,这里有两种实现目标的方法。
使用 php
//client site php_cnt.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>visit_cnt</title>
</head>
<script type="text/javascript"src="http://localhost/php_cnt.php">
</script>
</html>
//server site php_cnt.php
<?php
//Here is the some logic to process the visit count
$visit_cnt = 11; // assume read it from mysql
echo "document.write($visit_cnt);";
?>
使用 javascript/jquery
//client site php_cnt.html
$(function() {
$.get('http://localhost/php_cnt.php',{r:Math.random()},function(cnt) {
$('. counter-number').html(cnt);
});
});
//the server site code
<?php
//Here is the some logic to process the visit count
$visit_cnt = 11; // assume read it from mysql
echo visit_cnt;
?>
希望对您有所帮助!
【讨论】: