2012-02-19 74 views
0

我需要結果來顯示最近的第一個 - 此刻此代碼按時間順序顯示更新。不幸的是,我沒有訪問下面的代碼中的查詢,所以我需要在顯示的代碼中運行這個。有任何想法嗎?重新排序數據庫結果

<?php 
    if($updates) 
    { 
     foreach($updates as $up) 
     { 
?> 
<li class="common_li" style="background:none; border:none; padding:0px;"> 

<p style="font-size:12px; font-weight:nornal; font-style:italic; color:#999999;"> 

<?php echo date($site_setting['date_format'],strtotime($up['date_added'])); ?></p> 

<div style="border-radius:8px 8px 8px 8px;" class="detail_update"> 

<?php echo $up['updates'] ; ?></div> 
</li> 
?> 
+1

我認爲最簡單的方法是修改導致'$ updates'的查詢。例如,如果這是一個mysql_query,它應該非常簡單。 – Sirko 2012-02-19 10:26:16

+0

是否有一些MySQL查詢,你有權限訪問? – Giannis 2012-02-19 10:26:51

+0

不幸的是,我沒有訪問查詢,所以我需要在上面的代碼中運行這個。 – JoeW 2012-02-19 11:17:36

回答

2

你需要找出其中$updates變數是來自和更改查詢那裏。

另一種選擇是由date_added關鍵變量進行排序:

function sort_by_date($a, $b) { 
    return strtotime($a[ 'date_added' ]) - strtotime($b[ 'date_added' ]); 
} 

usort($updates, "sort_by_date"); 

更改查詢是清潔的方式,所以我建議這樣做,如果可能的話。

+1

把代碼放在'if($ updates){'後面。 – JJJ 2012-02-19 10:36:21

+0

嗯,沒有變化。雖然沒有錯誤。目前他們按日期順序(最早的結果第一),我需要他們先顯示最新的結果。任何想法如何扭轉順序結果? – JoeW 2012-02-19 11:46:40

+1

您可以反轉該功能中的變量。 'return strtotime($ b ['date_added']) - strtotime($ a ['date_added']);' – JJJ 2012-02-19 12:19:22