首先要考虑给数据库减压,意思就是让数据库做最简单的事情。你可以把条件在php里边组装好,然后让mysql只单一的执行查询就好了,php的时间代码给你贴一下吧
成都创新互联公司是一家专业提供宁夏企业网站建设,专注与网站建设、成都做网站、H5开发、小程序制作等业务。10年已为宁夏众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
?php
date_default_timezone_set('Asia/Shanghai');
echo "今天:".date("Y-m-d H:i:s")."br";
echo "昨天:".date("Y-m-d",strtotime("-1 day")), "br";
echo "明天:".date("Y-m-d",strtotime("+1 day")). "br";
echo "一周后:".date("Y-m-d",strtotime("+1 week")). "br";
echo "一周前:".date("Y-m-d",strtotime("-1 week")). "br";
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "br";
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "br";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."br";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."br";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."br";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."br";
echo 'hr/';
//php获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
echo "今日开始时间戳和结束时间戳",'开始:',$beginToday,'结束:',$endToday,'br/';
echo "今日开始时间:",date("Y-m-d H:i:s",$beginToday),'br/';
echo "今日结束时间:",date("Y-m-d H:i:s",$endToday),'br/';
echo 'hr/';
//php获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
echo "昨日开始时间戳和结束时间戳",'开始:',$beginYesterday,'结束:',$endYesterday,'br/';
echo "昨日开始时间:",date("Y-m-d H:i:s",$beginYesterday),'br/';
echo "昨日结束时间:",date("Y-m-d H:i:s",$endYesterday),'br/';
echo 'hr/';
//php获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
echo "上周开始时间戳和结束时间戳",'开始:',$beginLastweek,'结束:',$endLastweek,'br/';
echo "上周开始时间:",date("Y-m-d H:i:s",$beginLastweek),'br/';
echo "上周结束时间:",date("Y-m-d H:i:s",$endLastweek),'br/';
echo 'hr/';
//php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
echo "本月开始时间戳和结束时间戳",'开始:',$beginThismonth,'结束:',$endThismonth,'br/';
echo "本月开始时间:",date("Y-m-d H:i:s",$beginThismonth),'br/';
echo "本月结束时间:",date("Y-m-d H:i:s",$endThismonth),'br/';
?
以系统当前时间为起点,得到昨天一天数据:
select * from 表名 where Timeunix_timestamp(date(CURDATE())) and Time=unix_timestamp(DATE_ADD(date(CURDATE()),INTERVAL -1 DAY))
SELECT * FROM table WHERE time = ADDDATE(DATE_FORMAT(NOW(),'%Y-%m-%d 8:00:00'),INTERVAL -1 DAY)
AND time = ADDDATE(DATE_FORMAT(NOW(),'%Y-%m-%d 15:00:00'),INTERVAL -1 DAY) ;
1、新建一个test数据库,在数据库里创建一张data数据表。
2、在表内插入5条测试数据。
3、新建一个php文件,命名为test.php。
4、在test.php文件内,使用header()方法设置文件执行的编码为utf8,避免输出中文时产生乱码。
5、在test.php文件内,使用数据库账号、密码、名称,利用mysqli创建数据库连接,并使用set_charset()方法设置获得数据的编码为utf8。
6、在test.php文件内,编写sql语句,使用TO_DAYS()分别获得当前的天数和数据表ctime字段数据的天数,两者之差小于3天,即前三天,以此为条件查询data数据表的数据,使用query()执行sql语句,同时使用fetch_all()方法将获得的数据资源转换为二维数组。
7、在test.php文件内,使用foreach方法遍历上一步获得的二维数组,输出数据的id和姓名。
8、在浏览器运行test.php文件,查看程序执行的结果,可见,成功从数据库获得前三天的数据。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款