2015-04-23 109 views
0

當$ date符合條件時我希望在標題下顯示所有$ date的遊戲,但是此刻我的代碼正在循環併爲每個條件創建一個新的標題,其中$ date = today正如你在圖像中看到的那樣。 應該只有一個標題,今天,然後跳到到第二天等將所有項目添加到循環中的特定條件

enter image description here

while($row>$played){ 
      if($row['event_date']== $date){ 
      echo'<td>TODAY,'.$date.'</td>'; 
      : 
      : 
      } 

回答

3

echo一次,並記錄事實:

$echoed = false; 

while($row>$played){ // not sure what this is doing $row is an array 
    if($row['event_date'] == $date && !$echoed){ 
     echo $echoed = '<td>TODAY,'.$date.'</td>'; 
    } 
} 
+0

驚人的邏輯非常感謝你 – Marilee

1

儘量保持一個變量跟蹤最後日期,然後當最後日期與記錄中的日期不同時,打印新的標題...

$lastdate = ""; 
while($row>$played){ 
    if($row['event_date']== $date){ 
    if ($lastdate != $date) { 
     echo'<td>TODAY,'.$date.'</td>'; 
     $lastdate = $date; 
    } 
    : #<- display match details here 
    : 
    } 
} 
0

假設數據沒有排序或排序,建議將結果存儲在一個associative array在PHP中即。密鑰=>數組

實施例:

$games = array(); 
while ($row > $played) { 

    // for readability, named as date 
    $date = $row['event_date']; 

    // initialise as a new entry, if it hasnt already 
    if (!isset($games[$date]) { 
     $games[$date] = array(); 
    } 

    // append data to array 
    $games[$date][] = ... // data added here 
} 

這將產生一個數據結構,例如;

Array 
    2015-04-01 => [ delhi, crusaders ], 
    2015-04-04 => [ a, c, d, b ], 
    . 
    . 

你可以很容易地輸出或使用foreach格式。 希望這有助於。

相關問題