2014-01-19 99 views
0

我正在創建一個頁面來列出表格中每一行的選擇列。我通過使用下面的foreach循環來了解它的基礎知識,它工作正常。我現在面臨的問題是,我需要按日期排列結果(其中一列),最新的記錄位於頂部。在使用foreach時按日期排序

這是我迄今爲止(即工作,但不排序)

foreach ($visitors as $visitor) { 
     $id = htmlentities($visitor['family_id']); 
     $first_name = htmlentities($visitor['first_name']); 
     $last_name = htmlentities($visitor['last_name']); 
     $visit_date = htmlentities($visitor['visit_date']); 
     $phone = htmlentities($visitor['phone']); 
     $email = htmlentities($visitor['email']); 
     ?> 

     <p><?php echo $visit_date; ?><a href="visitor-view.php?id=<?php echo $id; ?>"> <?php echo $first_name . ' ' . $last_name; ?></a> <?php echo $phone; echo $email; ?></p> 
     <?php 
    } 

希望有人有一個光明的想法,如何得到它的排序。

+2

爲什麼不在命令中排序? – Mihai

+0

這與SQL有什麼關係? –

+1

爲什麼不從有序的方式得到它,然後顯示它? –

回答

0

愚蠢的監督,努力使之更加複雜,它應該是。

使用Dragon Warrior的建議是迄今爲止最簡單的方法。

1

使用USORT

(從PHP的官方網站上得到它 - http://php.net/manual/en/function.usort.php)從自己

function date_compare($a, $b) 
{ 
    $t1 = strtotime($a['visit_date']); 
    $t2 = strtotime($b['visit_date']); 
    return $t1 - $t2; 
}  
usort($array, 'date_compare'); 
+0

注意,如果$ visitors數組有密鑰,他可能需要'uasort'。 –