2011-09-12 114 views
1

我有以下問題我無法實現所需的數組格式。 我:Array從mysql的多維結果

while ($ row = mysql_fetch_assoc ($ result)) 
{ 
$ alias = $ row ['Alias​​']; 
$ read = (int) $ row ['Read']; 
$ data [$ alias] [] = $ read; 
} 

和我產生這種陣列:

{"310-Amb":[23,24,24,25], 
"310-Nev1":[5,5], 
"310-Nev2":[6,6], 
"310-Nev3":[5,5,4,4,5,4,5,5,5,4,4,5,5]} 

,我需要這樣的格式:

[{"name":"310-Amb","data":[23,24,24,25]}, 
{"name":"310-Nev1","data":[-74]}, 
{"name":"310-Nev2","data":[5]}, 
{"name":"310-Nev3","data":[5,6,6,5,5,4,4,5,4,5,5,5]}] 

這是我的查詢

SELECT read.Id, read.Fecha, read.Hora, productos.Producto, neveras.Alias, neveras.Min, 
neveras.Max, read.Lectura FROM read Inner Join neveras ON read.Nevera_Id = neveras.Id 
Inner Join productos ON neveras.Producto = productos.Id WHERE Hora between 
SUBTIME(CURTIME() , '03:00:00') And CURTIME() And read.$TipoClienteX = $IdX 
ORDER BY Alias, Hora Asc 

謝謝所有的幫助

回答

1

像這樣的東西應該讓你在那裏。

while ($row = mysql_fetch_assoc ($result)) 
{ 
    $alias = $row['Alias​​']; 
    $read = (int) $row['Read']; 
    $data[] = array 
    (
     'name' => $alias, 
     'data' => $read, 
    ); 
} 
+0

NOP,結果是:[{「name」:「310-Con」,「data」: - 74},{「name」:「310-Con」,「data」: - 74} ,{ 「名稱」: 「310-CON」, 「數據」: - 72},{ 「名稱」: 「310-CON」, 「數據」: - 73},{ 「名稱」: 「310-Nev3」, 「數據」:5},{ 「名稱」: 「310-Nev3」, 「數據」:5},{ 「名稱」: 「310-Nev3」, 「數據」:4},{ 「名稱」:「310 -Nev3「,」data「:5},{」name「:」310-Nev3「,」data「:5},{」name「:」310-Nev3「,」data「:5}] – Javier

+0

不是我期望的那麼:)你可以發佈你的SQL嗎? – Joe

+0

SELECT read.Id,read.Fecha,read.Hora,productos.Producto,neveras.Alias,neveras.Min, neveras.Max,read.Lectura FROM read Inner Join neveras ON read.Nevera_Id = neveras.Id Inner Join productos ON neveras.Producto = productos.Id WHERE Hora之間 SUBTIME(CURTIME(),'03:00:00')和CURTIME()並閱讀$ TipoClienteX = $ IdX ORDER BY Alias,Hora Asc – Javier