2011-11-05 29 views
0

你好,我想保存一行來自一個MySQL數據庫與「count('row1'')總和」但在我的數組我只有空領域!如何將MySQL count()行保存到PHP數組中?

數據庫查詢:

"SELECT id, value, COUNT('value') AS sum FROM answer_user GROUP BY id,value" 

PHP代碼:

$result = mysql_query($query) or die(mysql_error()); 
while($data= mysql_fetch_assoc($result)) { 
    echo"<b>{$data['id']}#{$data['value']}#{$data['sum']}#<br>"; 
} 

但$數據[和]僅僅是空的,沒有數字都在裏面。

和一個小型但輕微annoiance是,我可以通過ID下降和上升的價值在我的查詢奧德不一樣的值與我的查詢phpMyAdmin的降序說:

id value  sum 
    1 0 1 
    1 1 3 
    1 2 1 
    1 6 1 
    2 2 4 
    2 5 1 
    2 6 1 
    3 2 1 
    3 3 4 
    3 6 1 

我的主要目的,是要將它存儲在一個二維數組中,如$ data [id] [value] =「sum」

如果我回顯「$ data [1] [1]」;結果應該是普通的3

var_dump($ data)
array(3){[「id」] => string(1)「1」[「value」] => string(1)「0」 [「sum」] => string(1)「1」} array(3){[「id」] => string(1)「1」[「value」] => string(1) (3){[「id」] => string(1)「1」[「value」] => string(1)「2」[「sum」 ] => string(1)「1」} array(3){[「id」] => string(1)「1」[「value」] => string(1)「6」[「sum」] = > string(1)「1」} array(3){[「id」] => string(1)「2」[「value」] => string(1)「2」[「sum」] => string (1)「4」} array(3){[「id」] => string(1)「2」[「value」] => string(1)「5」[「sum」] => string(1 )「1」} array(3){[「id」] => string(1)「2」[「value」] => string(1)「6」[「sum」] => string(1)「 1「} array(3){[」id「] => string(1)」3「[」value「] => string(1)」2「[」sum「] => string(1) (3){[「id」] => string(1)「3」[「value」] => string(1)「3」[「sum」] => string(1) }數組(3){[「id」] => string(1)「3」[「value」] => string(1)「6」[「sum」] => string(1)「1」 (3){[「id」] => string(1)「4」[「value」] => string(1)「2」[「sum」] => string(1)「2」} array ){[「id」] => string(1)「4」[「value」] => string(1)「4」[「sum」] => string(1)「4」}

+0

請寄出'var_dump($ data);'的輸出,我建議你用qoutes包圍數組。 – ComFreek

+0

爲什麼你想要存儲在多維數組的鍵中的所有列?這意味着您首先需要所有答案,並且沒有答覆數據 – topherg

+0

您是否想要獲得字段「值」的值的總和? – lvil

回答

-2

嘗試把{&}以及圍繞陣列的按鍵放在編輯區域

0

你的意思是?

while($data= mysql_fetch_assoc($result)) { 
    $array[$data['id']][$data['value']] = $data['sum']; 
} 
+0

是的,我指:-) – user997942

+0

你接近我的解決方案:$陣列[$數據[ 'ID']] [$數據[ '值']] = $數據['總和「]; 應該給我用$陣列[1] [1] = 3,但它沒有一個數組?? – user997942

+0

這是奇怪的,你得到了什麼?哪個變量產生錯誤? – Shomz

1

在您的查詢的問題是,你usign計數(「值」)的總和。 Mysql獲得的值是字符串,你應該像這樣使用它。

SELECT id, value, COUNT(value) AS sum FROM answer_user GROUP BY id,value 

而且通過

SELECT id, value, COUNT(value) AS sum FROM answer_user GROUP BY id,value order by id asc , value asc 

它帶來完美的結果添加順序。順序將首先與id排序,然後對每個idwith值進行排序。並且你在這裏顯示的結果不會顯示總共返回0。