2011-03-29 61 views
0

我知道我可以從數據庫中獲取列/字段名稱使用:SHOW COLUMNS FROM tablename ...但有沒有辦法讓我返回列作爲內容,所以我的回報將是這樣的:MySQL/PHP的:如何獲得列和關聯的數據

陣列[0] [0] = 1列名
陣列[0] [1] = 2列名
數組[0] [2] = 3欄名

陣列[1] [0] = 1列第1個值
陣列[1] [1] = 2列第1個值
陣列[1] [2] = 3欄第1個值

...

我希望建立一個JSON對象

jsonObj = { 第1項{
                                                           塔1名:第1列第1倍的值,
                                                       塔2名:第2列第1倍的值,
                                                           列3名:第3欄第1倍的值...

編輯:我要補充一點,我知道的字段名與查詢返回結果

(SELECT * FROM sometable)如果你使用

while ($row = mysql_fetch_array($results)) { 
$thisfield = $row['fieldname']; 
} 

但是我怎麼能訪問他們(字段名稱),當我不知道他們?

回答

2

使用mysql_fetch_assoc - 它會返回

陣列( 「名稱」=> 「值」, 「NAME2」=> 「值2」 ......);

然後使用json_encode($數據)

+1

謝謝,它飄浮在我的腦海中,我只是不記得它。你太快了,我必須等10分鐘才能接受你的答案...:D – PruitIgoe 2011-03-29 13:36:05

1

使用mysql_fetch_assoc()或任何DB庫您使用將提供列名作爲數組鍵的等價物。

$results = array(); 
while ($row = mysql_fetch_assoc($db_result)) 
{ 
    $results[] = $row; 
} 
foreach ($results as $column=>$value) 
{ 
    // loop over $column and $value 
}