2012-08-30 55 views
-1
<? 
include("commonfile.php"); 
$start = date("Y-m-d H:i:s"); 
$end = $_POST['date']." ".$_POST['time']; 
if(isset($_POST['productid']) && $_POST['productid']!=""){ 
    $productid = $_POST['productid']; 
    $expdata = getdata("SELECT expire_date,expire_time from tbl_listing_master WHERE listingid=".$productid." AND currentstatus=0");  
    $time_rs = mysql_fetch_array($expdata); 
    $expdate = $time_rs[0]; 
    $exptime = $time_rs[1]; 
    $end = $expdate." ".$exptime; 
} 
$n = array("expdate" => $end); 
echo json_encode($n); 
?> 

就此拉开出现楠楠是倒计时,我使用 http://keith-wood.name/countdown.html 倒计时的jQuery V1.6.0的版本。我的时间倒计时脚本在谷歌浏览器工作正常,但它与在其他浏览器

+0

请,提高文字。很难理解你的问题,没有更多的信息和PHP的第一行。显示更多的代码。 –

+4

您需要向您展示JavaScript和HTML –

+3

如果问题是浏览器特定的,那么我们可能会希望看到您生成的任何客户端输出,而不是服务器端代码生成它。 – Chris

回答

1

问题是你的日期解析(我从你的dup问题的链接中抓取了这段代码)。

function updateCountdown(el, date, time, productId) { 
    $.ajax({ 
     type: "POST", 
     url: "../coding/fetch_time_forquery.php", 
     dataType: "json", 
     data: {date: date, time: time, productid: productId }, 
     success: function(data) 
     { 
     newYear = new Date (data.expdate); 
     $(el).countdown({until:newYear}); 
     } 

    }); 
} 

您需要解析此日期:newYear = new Date (data.expdate);,但未来从你的PHP后面的格式是2012-08-31 2:33:35 ..这会更容易些,如果你只是返回的时间戳。

在PHP中做到这一点,你需要转换$end是一个时间戳,而不是一个字符串:

$n = array("expdate" => strtotime($end) . '000'); // add milliseconds 

在JS:

newYear = new Date (parseInt(data.expdate, 10)); 

应该工作

+0

它不工作我正在使用基思木jquery v1.6.0,它似乎在其他浏览器Na ... –

+0

我明白这个问题。问题是这一行:'newYear = new Date(data.expdate);''你需要给它一个有效的日期来解析..所以要么传递毫秒的时间戳,要么使用[有效的日期字符串](https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse)Date.parse可用。 –

+0

请尝试更新的代码。 –

相关问题