【问题标题】:javascript countdown timer with sql time from database?javascript倒数计时器与数据库中的sql时间?
【发布时间】:2017-12-13 13:54:06
【问题描述】:

我有这个代码倒计时 javascript 工作正常:

<div id="countdown"></div>

<script type="text/javascript"> 
     $(document).ready(function() {
      $('#countdown').countdown('2017/07/11 06:32:11', function(event) {
        $(this).html(event.strftime('%H:%M:%S'));
      });

    });                                
</script>

但是在从数据库获取时间后不起作用这是从数据库倒计时获取时间后的代码不显示在 id 倒计时中

    <?php 
    $auc  = $DB_con->prepare("SELECT * FROM `auction` WHER ORDER BY id DESC LIMIT 1");
    $auc->execute(); 
    $row = $auc->fetch(PDO::FETCH_ASSOC);
    ?>


    <div id="countdown"></div>

    <script type="text/javascript"> 
     $(document).ready(function() {
      $('#countdown').countdown(<?php echo $row['timeauc']; ?>, function(event) {
        $(this).html(event.strftime('%H:%M:%S'));
      });

    });                                
    </script>

【问题讨论】:

  • 那么 PHP 代码产生了哪些 javascript 代码?
  • ?
  • WHER 是错误的,而且它是如何存储在db中的?不像 2017/07/11 06:32:11 我希望
  • 您需要在打印日期的位置加上引号,否则最终会变成:countdown(2017/07/11 06:32:11,,这在语法上是错误的,您应该在开发者工具控制台中看到语法错误
  • @Mike 是 2017/07/11 06:32:11

标签: javascript php sql pdo


【解决方案1】:

您缺少一对引号:

$('#countdown').countdown("<?php echo $row["timeauc"]; ?>", function(event) {
  $(this).html(event.strftime('%H:%M:%S'));
});

但是,为了避免潜在的跨站点脚本漏洞,您应该转义该值:

$('#countdown').countdown(<?php echo json_encode($row["timeauc"]); ?>, function(event) {
  $(this).html(event.strftime('%H:%M:%S'));
});

如果没有显示,首先确保$row["timeauc"] 确实包含日期字符串:

var_dump($row["timeauc"]);

【讨论】:

    猜你喜欢
    • 2013-01-22
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多