2010-07-23 54 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