PHP如何将循环出的内容按日期分割显示?

贝克悍马 2012-12-26 08:31:55
刚学PHP,给大哥们叩拜了!

请教一下,PHP如何将读取到的mysql内容按发布的日期分割显示呢?

如:

------------------------------------------------------
2012-12-26 的所有文章

------------------------------------------------------
2012-12-27 的所有文章

------------------------------------------------------
2012-12-28 的所有文章

就这个效果,烦劳大哥们,教教小弟。
...全文
633 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝克悍马 2012-12-28
  • 打赏
  • 举报
回复
引用 19 楼 yonbinblue 的回复:
上传文章的时候在数据表中添加时间字段,然后查询的时候按时间这个字段来显示你要的内容
我现在是要输出多个日期啊,要怎么弄啊!
yonbinblue 2012-12-28
  • 打赏
  • 举报
回复
上传文章的时候在数据表中添加时间字段,然后查询的时候按时间这个字段来显示你要的内容
贝克悍马 2012-12-28
  • 打赏
  • 举报
回复
引用 17 楼 godghkj 的回复:
引用 16 楼 beckhanma 的回复:引用 14 楼 godghkj 的回复:思路是这样的先把所有的数据读取出来,排序,这个不用教了吧? 然后定义数组关联数组,key就是日期, 再foreach完成 ok~ 请问怎样定义数组关联数组呢? $data['$key']=$value;这样来实现
以我现在的能力,我就只能读出数据,哎!
钢铁的群狼 2012-12-28
  • 打赏
  • 举报
回复
引用 16 楼 beckhanma 的回复:
引用 14 楼 godghkj 的回复:思路是这样的先把所有的数据读取出来,排序,这个不用教了吧? 然后定义数组关联数组,key就是日期, 再foreach完成 ok~ 请问怎样定义数组关联数组呢?
$data['$key']=$value;这样来实现
贝克悍马 2012-12-28
  • 打赏
  • 举报
回复
引用 14 楼 godghkj 的回复:
思路是这样的先把所有的数据读取出来,排序,这个不用教了吧? 然后定义数组关联数组,key就是日期, 再foreach完成 ok~
请问怎样定义数组关联数组呢?
yonbinblue 2012-12-28
  • 打赏
  • 举报
回复
或者可以用where语句的group by来查询一个日期的所有结果。 只是给你个思路,具体事情具体分析吧。
yonbinblue 2012-12-28
  • 打赏
  • 举报
回复
查询的时候where语句。比如说:截取时间到日期substr($date,0,8),按这个条件查询的结果集就是按日期查询了啊,然后用分支语句+循环输出分类的结果。
贝克悍马 2012-12-27
  • 打赏
  • 举报
回复
哎,有没有高人能帮忙解决问题啊
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 12 楼 xuzuning 的回复:
刚才疏忽了 $lastdata = $pubdate; 应写作 $lastdata = date("Y-m-d",$row->pubdate); 你的查询是按 pubdate 排序的,所以结果中相同日期的条目会排在一起 可以这样想:如果读取到的日期与上一条的日期不同,是不是新的一天开始了呢? $lastdata 就是一个变量,记录上一条的日期 ……
感谢哦,只是我现在要从循环的过程中加进去哦。
xuzuning 2012-12-26
  • 打赏
  • 举报
回复
刚才疏忽了 $lastdata = $pubdate; 应写作 $lastdata = date("Y-m-d",$row->pubdate); 你的查询是按 pubdate 排序的,所以结果中相同日期的条目会排在一起 可以这样想:如果读取到的日期与上一条的日期不同,是不是新的一天开始了呢? $lastdata 就是一个变量,记录上一条的日期
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 10 楼 xuzuning 的回复:
$pubdate = date("Y-m-d H:i",$row->pubdate); 改为 $pubdate = date("Y-m-d H:i",$row->pubdate); if(!isset($lastdate) || $lastdata != $pubdate) { echo '<hr>'; $lastdata = $pubdate; ……
哦,非常感谢! 不过我有些不解,$lastdata 值是什么? 这个我如何循环呢?
xuzuning 2012-12-26
  • 打赏
  • 举报
回复
$pubdate = date("Y-m-d H:i",$row->pubdate); 改为 $pubdate = date("Y-m-d H:i",$row->pubdate); if(!isset($lastdate) || $lastdata != $pubdate) { echo '<hr>'; $lastdata = $pubdate; }
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 8 楼 xiaowall 的回复:
查出来之后,按日期排序. 然后php分组显示
是啊,用PHP把每天的分开显示就可以!
phpman_cn 2012-12-26
  • 打赏
  • 举报
回复
查出来之后,按日期排序. 然后php分组显示
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
连测试数据都不给出 你是打算让人替你写个教案?
非常抱歉,小弟初学php,问问题也不在行,请海涵!
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 4 楼 jordan102 的回复:
贴出你的表结构看看
非常抱歉啊,是织梦的cms,下面是查询语句: $dsql->SetQuery("select b.id,b.arcrank,b.title,b.typeid,b.pubdate,b.source,c.typename,a.typeid,a.times from dede_test a inner join dede_archives b on a.aid=b.id inner join dede_arctype c on a.typeid=c.id where b.pubdate + a.times > UNIX_TIMESTAMP() ORDER BY b.pubdate asc limit 0,100"); $dsql->Execute(); while($row=$dsql->GetObject()) { $id = $row->id; $title = $row->title; $pubdate = date("Y-m-d H:i",$row->pubdate); $typeid = $row->typeid; $typename = $row->typename; $newartlist .= "<li><span class=\"time\">".$pubdate."</span> <a class=\"list\" href=\"?action=list&id=".$typeid."\">".$typename."</a> <a href=\"?action=news&id=".$id."\">".$title."</a></li>"; }
xuzuning 2012-12-26
  • 打赏
  • 举报
回复
连测试数据都不给出 你是打算让人替你写个教案?
一起混吧 2012-12-26
  • 打赏
  • 举报
回复
贴出你的表结构看看
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
查询时按发布日期分组就是了
而且我是想把结果取出来,让php做这个事情!
贝克悍马 2012-12-26
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
查询时按发布日期分组就是了
能给个例子看看么? 非常感谢!
加载更多回复(2)

20,397

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧