2012-02-15 73 views
1

我有一個數據庫,而且取陣列看起來是這樣的(如果我是創建陣列我自己)笨怎麼不選擇重複的ID

<?php 

    $array[] = array('id' => 1, 'message' => 'test'); 
    $array[] = array('id' => 1, 'message' => 'test'); 
    $array[] = array('id' => 2, 'message' => 'test'); 
    $array[] = array('id' => 5, 'message' => 'test'); 
    $array[] = array('id' => 1, 'message' => 'test'); 
    $array[] = array('id' => 8, 'message' => 'test'); 
    $array[] = array('id' => 5, 'message' => 'test'); 
    $array[] = array('id' => 1, 'message' => 'test'); 

?> 

正如你所看到的,有幾個ID爲1的數組,我想選擇最後5個項目,但如果有重複項,我想跳過它,然後繼續。有沒有簡單的解決方案呢?

+0

你可以顯示數據庫查詢....也許需要組由/不同 – ManseUK 2012-02-15 13:18:30

+0

轉到源,更改您的查詢,並讓它選擇不同(如果可能)。否則,您需要循環瀏覽並刪除不需要的內容 – JohnP 2012-02-15 13:19:02

回答

0

你應該使用這樣的查詢:

「SELECT DISTINCT ID,消息從your_table LIMIT 0,5」

1

您使用的是Active Record Class

如果是這行添加到您的查詢,在你得到你的結果:

$this->db->distinct(); 

對於當前和未來的參考CI已經並稱贊這是輝煌的文檔! 它始終是值得考慮看看有太多: http://codeigniter.com/user_guide/database/active_record.html

如果不使用Active Record Class,上面做:)的建議。