2010-07-23 53 views
0

你好,我现在有这个PHP脚本帮助,PHP日期和循环

 <?php if($purchase_dates != FALSE){?> 
         <?php foreach($purchase_dates as $id=>$outer_value) { ?> 
         <!-- Output the date here --> 
          <!-- Start Purchase table --> 
          <? 
          $date = strtotime($outer_value['date_purchased']); 
          $data = date('F jS Y', $date); 
          ?> 

          <h3></h3> 
          <!-- Start inner loop --> 
          <?php foreach($purchases as $id=>$inner_value) { ?> 
          <?php if($inner_value['date_purchased'] == $outer_value['date_purchased']) { ?> 
           <div class="row"> 
            <ul> 
             <li class="id"><a href="/search/cv/<?=$inner_value['code'];?>"><?=$inner_value['code'];?></a></li> 
             <li class="name"><a href="/search/cv/<?=$inner_value['code'];?>"><?=$inner_value['firstname'];?> <?=$inner_value['surname'];?></a></li> 
             <li class="download"><a href="">Download PDF</a></li> 
             <div class="disp"> 
              <li class="location"><?=$inner_value['city'];?></li> 
              <li class="status"><?=$job_status[$inner_value['job_status']];?></li> 
              <li class="education"><?=$education_types[$inner_value['education_level']]['nice_name'];?></li> 
              <li class="role"> 
               <?php 
               $out = array(); 
               if($inner_value['is_contract'] == 'Y') $out[]="Contract"; 
               if($inner_value['is_permanent'] == 'Y') $out[]="Permanent"; 
               if($inner_value['is_temporary'] == 'Y') $out[]="Temporary"; 
               echo implode(", ",$out); 
               ?> 
              </li> 

          <li class="salary"><?=$salaries[$inner_value['expected_salary_level']]['nice_name'];?></li> 
             </div> 
            </ul> 
           </div> 
          <?php } ?> 
          <?php } ?> 
          <!-- End inner loop --> 
         <?php } ?> 
         <?php }?> 
         <!-- End Outer Tree Loop --> 

这会产生一些看起来像这样,

7月22日
Purchase1

七月
购买2

7月18日
购买3

7月18日
购买4

我的问题是,我希望将所有的都在同该日期下并且如果该购买日期是今天的日期我想用'今日购买'替换'7月23日'

我已经在我的SQL中使用groupby

+0

你是什么查询? – 2010-07-23 09:36:48

回答

0

按日期分组的最简单方法是为数组添加一个额外的维度,以便属于同一日期的所有条目位于同一个子数组中。然后你只需要循环两次:

foreach($data as $purchase_date => $purchases){ 
    // Print date 
    foreach($purchases as $id=>$inner_value){ 
     // Print purchase 
    } 
} 

你似乎是使用Unix的时间戳的日期,这样你就可以简单的使用日期()剥离小时,分钟和秒:

if(date('Y-m-d')==date('Y-m-d', $purcharse_date)){ 
    // Today 
} 
+0

对不起,我没有按照这个答案,你可以将它应用于我的代码吗? – 2010-07-23 10:32:56