php - 使用 PHP 从 Mysql 检索 Mktime 值

标签 php mysql timer lamp

在我的网站上,我正在尝试制作一个倒计时器。如果我告诉它列的值并且它在测试 php 页面上工作,那么计时器的相同代码就会工作。问题是 mktime 值没有从 mysql 数据库中正确读取。但是,如果我将列输出到 echo 中,它会输出良好。包含数据的列称为过期。我从 mysql 加载的其他值位于 echo 内部,但是所有连接语句都是在我调用任何之前进行的。我正在使用 mysqli_fetch_array 来调用值。

$target = mktime($row['expire']);
$today = time();
$difference = $target-$today;
$hours = $difference/3600;
$minutes = ($hours-floor($hours))*60;
echo('ENDS IN: '.floor($hours).' Hrs '.floor($minutes).' Mins');
Yes the document is HTML that it gets included into

我在 mysql 中格式化过期列的方式是标准的 Hr,Min,Sec,MM,DD,YYYY。该列的实际内容为“21,0,0,7,12,2017”

提前致谢,大卫。

最佳答案

问题是,您从数据库的 $row['expire'] 中获取了一个字符串。但 mktime() 是一个纯整数函数。因此,首先您需要一种解决方法来分解字符串并将其转换为整数,然后才能与 mktime() 一起使用。

请从代码中删除以下行:

$target = mktime($row['expire']);

试试这个:

$timeparts = array_map('intval', explode(',', $row['expire']));
$target = mktime($timeparts[0],$timeparts[1],$timeparts[2],$timeparts[3],$timeparts[4],$timeparts[5]);

希望对您有帮助。但请不要将时间值作为字符串保存在数据库中。阅读手册中的其他可能性。

关于php - 使用 PHP 从 Mysql 检索 Mktime 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069640/

相关文章:

php - ffmpeg 不能从 php 工作

mysql - 创建第一个 gem,取决于 activerecord,我的测试应该命中数据库吗?

php - MySQL 进行平均计算并输出到 php 变量中

php - 需要检查MySQL数据库并在验证后登录

mysql - Rails 3 作用域与 SQL 返回空白结果

android - 通过计时器运行服务方法或 AsyncTask 并在 UI 中获取结果

swift - 计时器未触发(timeInterval 始终 == 0.0)

java - Swing - 将计时器堆叠在一起(这是不好的做法吗?)

php - 增加 Imagicks 最大分辨率

mysql - 将 SQL 连接查询转换为 Django ORM