2016-03-25 13 views
0

私は私が私のPHPスクリプトで使用JSでいくつかのコード。(chartjsに基づく)複数の使用量は

$licznik=0; 
    foreach ($all as $key => $row) { 
             $imiona[$licznik]=$row['imie']; 
             $nazwiska[$licznik]=$row['nazwisko']; 
             $tak[$licznik]=$row['tak']; 
             $nie[$licznik]=$row['nie']; 
             $licznik++; 
            } 


    $wynik.='<div> 
     <canvas id="'.$team.'"> 
     </canvas> 
     </div> 
     <br><hr>'; 

    $wynik.='<script> 

    var barChartData = { 
    labels : ["'.wypiszimiona($imiona,$nazwiska,$licznik).'], //radni 
    datasets : [ 
     { //głosy na nie 
     fillColor : "#BA0606", 
     strokeColor : "#FF0808", 
     highlightFill: "rgba(220,220,220,0.75)", 
     highlightStroke: "rgba(220,220,220,1)", 
     data : ['.wypisznie($nie,$licznik).'] 
     }, 
     { //głosy na tak 
     fillColor : "#23BA06", 
     strokeColor : "#30F70A", 
     highlightFill : "rgba(151,187,205,0.75)", 
     highlightStroke : "rgba(151,187,205,1)", 
     data : ['.wypisztak($tak,$licznik).'] 
     } 
    ] 
    }; 
    window.onload = function(){ 
    var ctx = document.getElementById("'.$team.'").getContext("2d"); 
    window.myBar = new Chart(ctx).StackedBar(barChartData, { 
     responsive : true 
    }); 

     }; 
    </script>'; 
それが唯一の最後のキャンバスをレンダリング

、レンダリングされていない他の1(ただし、JSコードを持って私は何が間違っているのか分かりません。私はJSでうまくいきません。(

+0

もっと役立つように書いたコードをもっと詳しく説明してください。 –

答えて

1

あなたが提供する情報はほとんどありませんが、私はあなたが別のPHP変数を使ってそのjsコードをコピーして貼り付けていると仮定します。あなたは何度もこの多くを行う場合

window.onload = function(){ 
    var ctx = document.getElementById("'.$team.'").getContext("2d"); 
    window.myBar = new Chart(ctx).StackedBar(barChartData, { 
     responsive : true 
    }); 

は、あなたがwindow.onloadを上書きしている、とだけ最後の書き換えが起こるのだろう、唯一の最後のキャンバスを意味することをクライアントに伝えるのコードを追加している、ことをあなたがするたびにに描画されます。

+0

ええ、別のユーザーから開発されたchartjsにプラグインを使用しています。 – Gh0st

0

JS文字列を二重引用符で囲んで閉じる必要があります。それらがない行:

...labels : ["'.wypiszimiona($imiona,$nazwiska,$licznik).'"]... 
...data : ["'.wypisznie($nie,$licznik).'"]... 
...data : ["'.wypisztak($tak,$licznik).'"]... 

私はいくつかを逃したかもしれません。