如何:动态7天预测日历循环-PHP,MySQL

如何:动态7天预测日历循环-PHP,MySQL,php,mysql,loops,multidimensional-array,Php,Mysql,Loops,Multidimensional Array,我在制作一个复杂的动态预测日历时遇到了麻烦,该日历只有7天的可见部分,并且有一个MySQL表 表格结构为: 表:潮汐预报 我也对这个问题感到困惑。我需要多维数组吗?这张桌子怎么做?我的分组正确吗 显然,我如何在一个循环中创建复杂的PHP循环 这个问题看起来像是一个完全的依赖关系,但我真的在努力地用谷歌搜索所有方面和可能的代码(如PHP年历、多维数组等)——最后我被撤销了(我认为您不需要多维数组。为什么不逐行获取结果,维护一个变量$last_day[“year”]、[“month”]、[“day”

我在制作一个复杂的动态预测日历时遇到了麻烦,该日历只有7天的可见部分,并且有一个MySQL表

表格结构为:

表:潮汐预报 我也对这个问题感到困惑。我需要多维数组吗?这张桌子怎么做?我的分组正确吗

显然,我如何在一个循环中创建复杂的PHP循环


这个问题看起来像是一个完全的依赖关系,但我真的在努力地用谷歌搜索所有方面和可能的代码(如PHP年历、多维数组等)——最后我被撤销了(

我认为您不需要多维数组。为什么不逐行获取结果,维护一个变量$last_day[“year”]、[“month”]、[“day”],这样您就可以将当前记录与以前的记录进行比较,查看日期、月份或年份是否发生了更改,然后输出适合这种情况的html


哦,顺便说一句,我会在SQL中添加一个WHERE子句,将结果限制在您感兴趣的7天内-比之后在PHP中进行过滤更有效…

谢谢。也许您是对的。我正在尝试在没有多维数组的情况下进行此操作。只需分享一个想法:无论如何,我可以看到至少有4个查询执行此操作:Q1-年;Q2-月,其中年==Q1[年];Q3-日期,其中月==Q2[日期],Q4-数据,其中日期==Q3[日期]。我走对了吗?不一定要连续4次查询。相反:如果(日期==last_day[“day”]){..添加当天数据。}elseif(月!=$last_day[“Month”]){…处理月的变化…}elseif(年份$last_day[“Year”]{…处理年份变化}你能用一些真实数据详细说明你的答案吗?我真的很挣扎。(
SELECT*FROM thide_prediction,其中port_id='1'和da_year='2013'和da_date介于现在()和date_ADD之间(NOW(),间隔7天)按年度、月份、日期、时间排序的订单ASC
显示空白页。是的,对。您可能希望将年份替换为
年(当前时间戳);
以便它也能在nxt年工作。:) +----+---------+---------+----------+---------+---------+-----------+------------+ | id | port_id | da_year | da_month | da_date | da_time | da_height | moon_phase | +----+---------+---------+----------+---------+---------+-----------+------------+ | 1 | 1 | 2013 | January | 04 | 16:57 | 3.75 | 0 | | 2 | 1 | 2013 | January | 04 | 10:57 | 2.36 | New | | 3 | 1 | 2013 | January | 04 | 08:57 | 3.35 | Full | | ...... | +----+---------+---------+----------+---------+---------+-----------+------------+
<h4 class="tidal-year">2012</h4>
<h5 class="tidal-month">December</h5>
<table>
   <thead>
      <tr><th></th></tr>
   </thead>
   <tbody>
      <tr><td></td></tr>
   </tbody>
</table>
<h4 class="tidal-year"><?php echo $next_year; ?></h4>
    <h5 class="tidal-month"><?php echo $next_month_name; ?></h5>
    <table>
    ...
SELECT da_year,da_month,da_date,da_time,da_height,moon_phase
FROM tidal_prediction
WHERE port_id='1'
GROUP BY port_id,da_year,da_month,da_date
ORDER BY da_year,da_month,da_date,da_time ASC