2017-07-11 30 views
1

私はPHPの初心者です。私は、以下の配列に最後の部分の$のrowIncomeBudgetAmountsを置くことを試みたが、結果は最初の行のみを表示する私のPHPコードMySQLの結果は3次元配列PHP

$select = "SELECT budgetname,SUM(budgetamount) AS budget,sqlitebudgetid FROM budget WHERE budgettype = 'INCOME' AND budgetaccount = '$budgetAccount' AND budgetuser = '$userID' AND budgetdate BETWEEN '$fromDate' AND '$toDate' GROUP BY BudgetName ASC"; 

$result = mysqli_query($con, $select); 

     while($row = mysqli_fetch_array($result)) {    

     $rowIncomeBudgetLabels[] = $row["budgetname"];   

     $rowIncomeBudgetAmounts = array($row["budget"],$row["budget"], row["sqlitebudgetid"]);   

     } 

から次のスニペットを持っています。

Iは以下のように試みたがIDが作動していない:

$data = array($rowIncomeBudgetAmounts); 

以下のようにアレイに配置する:各行は別々のサブアレイとして表示されるようになっています。助けてください。

$data = array( array(255, 100, 100), 
       array(100, 255, 100), 
       array(100, 100, 255), 
       array(255, 255, 100), 
      ); 

EDIT >>

私は以下の結果を得ています。いくつかの行の代わりに - 私は最初の行を取得しています。グラフにはすべての説明が表示されていますが、すべての説明は対応するものがありません。

enter image description here

PERFECT:これは私が望んでいた結果である:Ultrazz008

@おかげ

enter image description here

+0

あなたが選択クエリから取得しているアレイを提供してください.... – GYaN

+0

選択クエリ私に結果を提供しますつまり、(budgetname、budget、sqlitebudgetid)の3つの列を持つテーブル - 上記の$ data配列に示されているように、すべての列のすべての桁を入れる例として必要です。 –

+1

@IshmaelChibvuriあなたの投稿を編集し、あなたが得ている結果を表示してください。この結果に基づいて、これを処理する適切な方法を提案することができます –

答えて

1

あなたはから行を変更する必要がありますに

$rowIncomeBudgetAmounts = array($row["budget"],$row["budget"], row["sqlitebudgetid"]); 

$rowIncomeBudgetAmounts[] = array($row["budget"],$row["budget"], $row["sqlitebudgetid"]); 

そして、あなたは配列データの配列を取得します、$rowIncomeBudgetAmountsの終わりに[]を付加し、そしてrow["sqlitebudgetid"]

からそして、その使用後に行方不明$$data = $rowIncomeBudgetAmounts; 取得する:

array(array(), array(), array()) - のをあなたのデータ。ここで

は、あなたがそれを望む道、と私はそれがどのように動作するかの答えに投稿されたコードです:

http://ideone.com/2nuMyw

+0

あなたは '$ data = array($ rowIncomeBudgetAmounts);'、コード投稿し、これを '$ data = $ rowIncomeBudgetAmounts;に変更してください。あなたが投稿したのと同じ配列でなければなりません。 – Ultrazz008

+0

Wooow ..多くのありがとう。あなたは私の一日を救った。できます :) –