重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
sql语句:select * from table order by 时间 desc
成都创新互联主营椒江网站建设的网络公司,主营网站建设方案,成都APP应用开发,椒江h5成都微信小程序搭建,椒江网站营销推广欢迎椒江等地区企业咨询
用php相关函数查询得到一个二维数组,下面遍历这个数组,假设数据库里的时间是时间戳形式,保存时间戳的字段叫times
$tmp_stamp = 0;//临时变量,用来记录每一条数据的时间
$tmp2_stamp = 0;//同上
foreach($datas as $data){
//每循环一次就首先记录本次时间戳
$tmp2_stamp = strtotime(data('Y-m-d', $data['times']));
if($tmp_stamp != $tmp2_stamp){
//输出几月几号
echo data('m-d', $tmp2_stamp) . 'br';
//输出你要输出的数据
echo "nbsp;nbsp;nbsp;nbsp;{$data['其他字段']}br";
}else{//两次时间相等,不用输出几月几号.
//输出你要输出的数据
echo "nbsp;nbsp;nbsp;nbsp;{$data['其他字段']}br";
}
//tmp_stamp 保存本次的时间戳,下一次循环用来作比较
$tmp_stamp = $tmp2_stamp ;
}
在数据库里添加一个字段,比如 addtime,然后添加数据的时候,将 time() 值写到这里,然后读取的时候,用 where addtime=time() 就可以了。
先说原理,首先就是根据你表里面记录时间的字段的格式要方便些,还有你是一三十天为一个单位还是安装自然月为一个月。不论那种你也可以多种方式就是选择要显示的时间。那么就比较复杂,不过都大同小异。你可以可以用正则对时间进行处理,之后得到你的数据库表数据调用循环范围。然后对日期进行分类,之后每个分类里面的钱数进行相加。要做好也挺麻烦主要是要顾虑各种情况。不懂再问我把,就说这些了。
//当天时间
$where['time'] = array(
array('egt',strtotime(date('Y-m-d',time())),
array('lt',strtotime(date('Y-m-d',time())).'+1 day')
);
// 本周时间
$where['time'] = array(
array('egt',strtotime(date('Y-m-d',time())).'-'.date('w',time()).' day'),
array('lt',strtotime(date('Y-m-d',time())).'+1 week -'.date('w',time()).' day');
);
// 本月时间
$where['time'] = array(
array('egt',strtotime(date('Y-m',time()))),
array('lt',strtotime(date('Y-m',time()).'+1 month'))
);
// 本年时间
$where['time'] = array(
array('egt',strtotime(date('Y',time()))),
array('lt',strtotime(date('Y',time()).'+1 year'))
);
上面是查询条件,直接运用到查询语句就可以了
$result = $db-where($where)-select();
更正下上面的那个 本年 查询时间
$where['time'] = array(
array('egt',strtotime(date('Y-01-01',time())),
array('lt',strtotime(date('Y-01-01',time()).'+1 year'))
);