2014-05-08 75 views
0

我使用PHP獲取了數據庫表的所有條目。現在我想要一個數組,用於特定列的每個不同屬性;如果屬性相同,它應該在同一個數組中。請看下面的例子來理解我的意思:獲取數據庫表中所有不同屬性的PHP-arraylist

+----+-------------------+------+ 
| ID | ColA    | Colb | 
+----+-------------------+------+ 
| 1 | Some Text   | 2 | 
+----+-------------------+------+ 
| 2 | Text    | 4 | 
+----+-------------------+------+ 
| 3 | Another Text  | 2 | 
+----+-------------------+------+ 
| 4 | Just Text   | 4 | 
+----+-------------------+------+ 
| 5 | Text Text   | 4 | 
+----+-------------------+------+ 
| 6 | Another Text Text | 4 | 
+----+-------------------+------+ 

數組應該是這樣的機制之後,我在尋找:

Array (2) { 
    Array (2) { 
    Array (ID => '1', ColA => 'Some Text', ColB => '2'), 
    Array (ID => '3', ColA => 'Another Text', ColB => '2') 
    }, 
    Array (4) { 
    Array (ID => '2', ColA => 'Text', ColB => '4'), 
    Array (ID => '4', ColA => 'Just Text', ColB => '4'), 
    Array (ID => '5', ColA => 'Text Text', ColB => '4'), 
    Array (ID => '6', ColA => 'Another Text Text', ColB => '4') 
    } 
} 

我知道如何與一個解決這個問題的-loop,但是有沒有一種代碼行方式? MySQL或PHP功能?

+1

對於'fetchAll()'方法,您可以使用PDO的'FETCH_GROUP'模式。見http://www.php.net/manual/en/pdostatement.fetchall.php#88699 – Barmar

回答

0

$ con = mysql_connect(「localhost」,「root」,「」);

$ db = mysql_select_db(「expDB」,$ con);

$ sel = mysql_query(「select * from exp order by ColB」);

$ a = array();

而($行= mysql_fetch_assoc($ SEL)){

$一個[$行[ 'COLB']] [] = $行;

}

print_r($ a);

相關問題