php – 选择时间与未来日期相同的数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 选择时间与未来日期相同的数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1691字,纯文字阅读大概需要3分钟。
内容图文
![php – 选择时间与未来日期相同的数据](/upload/InfoBanner/zyjiaocheng/753/1b7df127d7104951b9bd7c0bc8b49afa.jpg)
我的数据库中有一个名为users_added的表,在该表中,我有一个名为expire的字段,用于存储unix时间戳.
我的问题是,如何循环x天,并查看用户已离开的天数(直到满足过期日期)
例:
1 day remaining:
10 users
2 days remaining:
0 users
3 days remaining
50 users
等等..
图形示例:
这是我到目前为止:
// Start date
$date = date("Y-m-d",$time);
// End date
$end_date = date('Y-m-d', strtotime($date . " +10 days"));
while (strtotime($date) <= strtotime($end_date)){
$stmt = $dbh->prepare("SELECT * FROM users_added WHERE user_by=:user AND expire<:time");
$stmt->bindParam(":user",$userdata['username']);
$stmt->bindParam(":time",$end_date);
$stmt->execute();
$expireData = $stmt->fetchAll();
$remaining = $date-$end_date;
echo "$remaining";
echo "day(s) remaining:";
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
我无法离开这里,因为我被困住了.我不知道如何实现这一目标.
解决方法:
这对我有用:
mysql> CREATE TABLE users (expiry INT UNSIGNED);
Query OK, 0 rows affected (0.12 sec)
mysql> INSERT INTO users (expiry) VALUES
(UNIX_TIMESTAMP() + 1000),
(UNIX_TIMESTAMP() + 12348),
(UNIX_TIMESTAMP() + 89284),
(UNIX_TIMESTAMP() + 99438),
(UNIX_TIMESTAMP() + 333552),
(UNIX_TIMESTAMP() + 883718),
(UNIX_TIMESTAMP() + 994872);
Query OK, 7 rows affected (0.05 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql> SELECT
ROUND((expiry - UNIX_TIMESTAMP()) / 86400) AS days,
COUNT(*) AS cnt
FROM users
WHERE expiry > UNIX_TIMESTAMP()
GROUP BY days;
+------+-----+
| days | cnt |
+------+-----+
| 0 | 2 |
| 1 | 2 |
| 4 | 1 |
| 10 | 1 |
| 12 | 1 |
+------+-----+
5 rows in set (0.00 sec)
mysql>
让数据库完成工作; subtracting从当前时间戳到期的到期时间戳给出了到期前的秒数,除以86400给出了天数.然后你可以按天数group结果,得到每天的计数.
内容总结
以上是互联网集市为您收集整理的php – 选择时间与未来日期相同的数据全部内容,希望文章能够帮你解决php – 选择时间与未来日期相同的数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。