2013-07-12 85 views
0

所以我這個數組data,我想是有些像[lojas, raparacoes, valor],[nome_1, count_1, val_1],[nome_2, count_2, val_2], etc, etc...多維陣列輸出

lojasreparacoesvalor編碼像頭

nome_*來自$row['nome']

count_*來自intval($row['COUNT(DISTINCT id_reparacao)'])

val_*來自intval($row2['SUM(valor)'])

$data = array(array('Lojas'), array('Reparacoes'), array('Valor')); 
$qry=mysql_query ('SELECT COUNT(DISTINCT id_reparacao) , lojas.nome, lojas.id 
FROM reparacoes 
INNER JOIN lojas ON lojas.id = id_loja 
GROUP BY lojas.id '); 

     while($row = mysql_fetch_array($qry)) 
     { 
      $qry2=mysql_query ('SELECT SUM(valor) FROM re_servicos where id_reparacao=(select id_reparacao from reparacoes where id_loja='.$row['id'].' and estado="Fechada")'); 
      while($row2 = mysql_fetch_array($qry2)) 
       { 
        $data=[$row['nome'],intval($row['COUNT(DISTINCT id_reparacao)']), intval($row2['SUM(valor)'])]; 
       } 
     } 

然而,與此代碼我沒有得到期望的輸出數組中,我想這個問題是我填的方式,但我不知道如何正確地填寫這麼它得到我在第一段中發佈的輸出。

PS:我不知道它的問題,但爲了更好的理解,我需要這個陣列構建google bar chart

+0

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

回答

1

你可以試試這個代碼。

$data = array(); 
$data[] = array('Lojas', 'Reparacoes', 'Valor'); 
$qry=mysql_query ('SELECT COUNT(DISTINCT id_reparacao) , lojas.nome, lojas.id 
FROM reparacoes 
INNER JOIN lojas ON lojas.id = id_loja 
GROUP BY lojas.id '); 

     while($row = mysql_fetch_array($qry)) 
     { 
      $qry2=mysql_query ('SELECT SUM(valor) FROM re_servicos where id_reparacao=(select id_reparacao from reparacoes where id_loja='.$row['id'].' and estado="Fechada")'); 
      while($row2 = mysql_fetch_array($qry2)) 
       { 
        $data[]=array($row['nome'],intval($row['COUNT(DISTINCT id_reparacao)']), intval($row2['SUM(valor)'])); 
       } 
     } 
+0

完美工作,謝謝。 (我儘快接受這個答案) – DaftDev