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 - 无法在 php 中获取单选值

mysql - 如何创建等效的 IN 子句但允许列出值的 AND

java - 如何解决MySQLSyntaxErrorException异常?

Java - 如何检查 JFrame 是否关闭

windows - 时钟在 Windows 7 中如何工作?

php - 如何在 php 中为 css 缩小编写更好的正则表达式?

php - 使用 Slim 3 和内置 PHP 服务器路由参数

php - 在 MySQL 数据库中存储数据的最佳方式

PHP MySQL 插入由于某种原因无法工作

java - 随机化球大小的多球程序