1

助けが必要です。Googleのグラフスクリプトを使用して2つのグラフに表示したい情報がデータベースにあります。

両方のスクリプトは機能しますが、同じページで両方のスクリプトを使用する場合は機能しません。同じ情報を表示する必要があるため、両方が等しいwhileに問題があるに違いありません。2番目のループが機能し始めている間に最初のループを削除すると、最初のループは機能します。

値を手動でハードコーディングすると、whileなしで両方ともうまく機能するため、アプリはうまく機能します。

コードは次のとおりです。

<!-- First Chart start here: -->

<script type="text/javascript">
    google.load("visualization", "1", {
        packages: ["corechart"]
    });
    google.setOnLoadCallback(drawChart);

    function drawChart() {
        var data = google.visualization.arrayToDataTable([
            ['Formato', 'Cantidad'], <? php

            //da problema si hay 2 while
            while ($DatRDV = mysql_fetch_array($nrollos)) {
                echo "['".$DatRDV['Formato'].
                "',".$DatRDV['nRollos'].
                "],";
            } ?> ]);

        var options = {
            title: 'Formato de Rollos'
        };

        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
    }
</script>

<!-- Second chart start here: -->

<script type="text/javascript">
    function drawVisualization() {
        // Create and populate the data table.
        var JSONObject = {
            cols: [{
                id: 'format',
                label: 'Formato',
                type: 'string'
            }, {
                id: 'cantidad',
                label: 'Cantidades',
                type: 'number'
            }],
            rows: [

            <? php
            while ($DatRDV = mysql_fetch_array($nrollos)) {
                echo "{c:[{v: '".$DatRDV['Formato'].
                "'}, {v: ".$DatRDV['nRollos'].
                "}]},";
            } ?> ]
        };

        var data = new google.visualization.DataTable(JSONObject, 0.5);

        // Create and draw the visualization.
        visualization = new google.visualization.Table(document.getElementById('table'));
        visualization.draw(data, {
            'allowHtml': true
        });
    }

    google.setOnLoadCallback(drawVisualization);
</script>
4

1 に答える 1

1

試す;

mysql_data_seek($nrollos,0);

2回目のループ前

于 2013-03-08T14:28:23.837 に答える