テーブルに行がありません-PHPとAJAXを使用したGoogle円グラフ

シングスレックス

「テーブルに列がありません」というエラーが発生します。以下のリンクをご覧ください。

http://admin.millionkidstoschool.org/index.php/

この問題の原因は何ですか?

提供されたリンクで、XHRの下にJSON出力を見ることができます。

同じJSON出力を使用して、異なるデータセットを使用して複数のグラフ(円、棒)を描画することは可能ですか?

見る:

 google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(filter_data); 


       function filter_data(){
           $('#filter_data').html("<div id='loading'></div>");
           var action = 'fetch_data';
           //var minimum_price = $('#hidden_minimum_price').val();
           //var maximum_price = $('#hidden_maximum_price').val();
           var reporting_period = get_filter('reporting_period');
           var category = get_filter('category');
           var region = get_filter('region');
           var partner = get_filter('partner');

           var mapData = $.ajax({
               url:"http://admin.millionkidstoschool.org/index.php/enrollments/fetch_data",
               type:"POST",
               dataType:"JSON",
               data:{action:action, reporting_period:reporting_period, category:category, region:region, partner:partner},

                /*success:function(data){
                   $('.filter_data').html(data.enrollments);
                   /*$('#pagination_link').html(data.pagination_link);
               }*/
           }).responseText;


           // Create our data table out of JSON data loaded from server. 
            var data = new google.visualization.DataTable(mapData);




            // Instantiate and draw our chart, passing in some options. 
            var chart = new google.visualization.PieChart(document.getElementById('filter_data')); 
            chart.draw(data, {width: 900, height: 500}); 

       }

コントローラ:

        $data = $this->db->query($query);



        $result = '';
        $total_ex_nf = '0';
        $total_new_nf = '0';
        $total_formal='0';
        if($data->num_rows() > 0)
        {
            foreach($data->result_array() as $row)
            {
                if($row['category']=='Ex-Non-Formal'){
                    $total_ex_nf += $row['total_enrolled'];
                    //$result .= $total_ex_nf;
                }
                if($row['category']=='New-Non-Formal'){
                    $total_new_nf += $row['total_enrolled'];
                    //$result .= $total_new_nf;
                }
                if($row['category']=='Formal'){
                    $total_formal += $row['total_enrolled'];
                    //$result .= $total_formal;
                }

                $result .= '


                <div class="col-lg-12">
                 <div style="border:1px solid #ccc; border-radius:5px; padding:16px; margin-bottom:16px;">


                  <p>Total Enrollments : '. $row['total_enrolled'].' <br />
                  Partner : '. $row['partner'] .'  <br />
                  Reporting Period : '. $row['reporting_period'] .' <br />
                  Category : '. $row['category'] .'<br />


                  Region : '. $row['region'] .'</p>
                 </div>
                </div>
                ';
            }

            $result .= '<div class="col-lg-12">

            Total Formal: '.$total_ex_nf.' <br/>
            Total Ex-Non-Formal: '.$total_new_nf.' <br/>
            Total New-Non-Formal: '.$total_formal.' <br/>

            </div>';


            $output = array('enrollments' => $result);
        }
        else
        {
            $result = '<h3>No Data Found</h3>';
        }

    $categoryType1 = "Fromal";
    $categoryType2 = "Ex-Non-Fromal";
    $categoryType3 = "New-Non-Fromal";

   $responce->cols[] = array( 
        "id" => "", 
        "label" => "Category", 
        "pattern" => "", 
        "type" => "string" 
    ); 
    $responce->cols[] = array( 
        "id" => "", 
        "label" => "Total Enrolled", 
        "pattern" => "", 
        "type" => "number" 
    ); 

        $responce->rows[0]["c"] = array( 
            array( 
                "v" => "$categoryType1", 
                "f" => null 
            ) , 
            array( 
                "v" => (int)$total_formal, 
                "f" => null 
            )
        ); 

        $responce->rows[1]["c"] = array( 
            array( 
                "v" => "$categoryType2", 
                "f" => null 
            ) , 
            array( 
                "v" => (int)$total_ex_nf, 
                "f" => null 
            )
        ); 

        $responce->rows[2]["c"] = array( 
            array(
                "v" => "$categoryType3", 
                "f" => null 
            ) , 
            array( 
                "v" => (int)$total_new_nf, 
                "f" => null 
            )
        ); 

    echo json_encode($responce);
 }
FMK

jquery ajax関数には.done()、リクエストが終了したときにトリガーされ、データが渡される関数があります。データにアクセスする方法により、GoogleチャートにjqXHRオブジェクトが渡されます詳細については、http//api.jquery.com/jQuery.ajax/を参照してください

あなたはこのようなことを試すことができます:

 google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(filter_data); 


       function filter_data(){
           $('#filter_data').html("<div id='loading'></div>");
           var action = 'fetch_data';
           //var minimum_price = $('#hidden_minimum_price').val();
           //var maximum_price = $('#hidden_maximum_price').val();
           var reporting_period = get_filter('reporting_period');
           var category = get_filter('category');
           var region = get_filter('region');
           var partner = get_filter('partner');

           var mapData = $.ajax({
               url:"http://admin.millionkidstoschool.org/index.php/enrollments/fetch_data",
               type:"POST",
               dataType:"JSON",
               data:{action:action, reporting_period:reporting_period, category:category, region:region, partner:partner},

                /*success:function(data){
                   $('.filter_data').html(data.enrollments);
                   /*$('#pagination_link').html(data.pagination_link);
               }*/
           }).done(function (mapData) {
               // Create our data table out of JSON data loaded from server. 
               var data = new google.visualization.DataTable(mapData);

               // Instantiate and draw our chart, passing in some options. 
              var chart = new google.visualization.PieChart(document.getElementById('filter_data')); 
              chart.draw(data, {width: 900, height: 500}); 
           });

       }

(このコードはテストされていません。正しい方向にヒントを与える必要があります)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

mySQLテーブルのPHPループ出力に1行がありません

分類Dev

行を挿入できません-Laravelのデータテーブルに列がありません

分類Dev

Python:パンダ:Groupbyテーブルとピボットテーブルに行がありません

分類Dev

AJAXを介して更新されたテーブルに行がありません

分類Dev

MySQLiの挿入クエリは成功しましたが、テーブルに行がありませんか?

分類Dev

Googleバブルチャート-テーブルに列がありません

分類Dev

Google Charts-テーブルに列がある場合、テーブルには列がありません

分類Dev

jQueryデータテーブルの使用中に現在の行から値がありません

分類Dev

テーブルの行をスワイプするときに削除ボタンがありません

分類Dev

'にない行と'にある行は、テーブルの合計行と等しくありません

分類Dev

Luaのテーブルライブラリに機能がありません

分類Dev

テーブルに主キー定義エラーがありません

分類Dev

SQLAlchemy操作エラー:新しいDB行を作成しようとしたときにそのようなテーブル列user_idがありません

分類Dev

フラットテーブルにカスタム属性がありません

分類Dev

作成テーブルに右括弧エラーがありません

分類Dev

Google AppsScriptエラー-Googleスプレッドシートから複数の行がありますがGoogleドライブに1つのファイルしかありません-「イテレータが最後に到達しました」

分類Dev

テーブル名に名前の列がありませんAndroidSQLite PHP

分類Dev

テーブル[...]には[...]という名前の列がありませんSQLitejava

分類Dev

ハッシュテーブルクラスがllvmlibc ++にありません

分類Dev

テーブルの列幅が正しくありません

分類Dev

テーブルの列幅が正しくありません

分類Dev

テーブル名が正しくありません

分類Dev

MySqlテーブルには主キーがありません。djangoormは使用できません

分類Dev

AJAXリクエストを行うときにテーブルが見つかりませんエラー

分類Dev

JSONファイルをExcelテーブルに変換するPHPの形式が正しくありません

分類Dev

ブール値を返そうとしたときにreturnステートメントがありません

分類Dev

VueJsを使用したJQueryデータテーブルにデータがありません

分類Dev

データテーブルに行を追加できません。データテーブルはエラーではありません

分類Dev

エラー参照されたテーブルに主キーまたは候補キーがありません

Related 関連記事

  1. 1

    mySQLテーブルのPHPループ出力に1行がありません

  2. 2

    行を挿入できません-Laravelのデータテーブルに列がありません

  3. 3

    Python:パンダ:Groupbyテーブルとピボットテーブルに行がありません

  4. 4

    AJAXを介して更新されたテーブルに行がありません

  5. 5

    MySQLiの挿入クエリは成功しましたが、テーブルに行がありませんか?

  6. 6

    Googleバブルチャート-テーブルに列がありません

  7. 7

    Google Charts-テーブルに列がある場合、テーブルには列がありません

  8. 8

    jQueryデータテーブルの使用中に現在の行から値がありません

  9. 9

    テーブルの行をスワイプするときに削除ボタンがありません

  10. 10

    'にない行と'にある行は、テーブルの合計行と等しくありません

  11. 11

    Luaのテーブルライブラリに機能がありません

  12. 12

    テーブルに主キー定義エラーがありません

  13. 13

    SQLAlchemy操作エラー:新しいDB行を作成しようとしたときにそのようなテーブル列user_idがありません

  14. 14

    フラットテーブルにカスタム属性がありません

  15. 15

    作成テーブルに右括弧エラーがありません

  16. 16

    Google AppsScriptエラー-Googleスプレッドシートから複数の行がありますがGoogleドライブに1つのファイルしかありません-「イテレータが最後に到達しました」

  17. 17

    テーブル名に名前の列がありませんAndroidSQLite PHP

  18. 18

    テーブル[...]には[...]という名前の列がありませんSQLitejava

  19. 19

    ハッシュテーブルクラスがllvmlibc ++にありません

  20. 20

    テーブルの列幅が正しくありません

  21. 21

    テーブルの列幅が正しくありません

  22. 22

    テーブル名が正しくありません

  23. 23

    MySqlテーブルには主キーがありません。djangoormは使用できません

  24. 24

    AJAXリクエストを行うときにテーブルが見つかりませんエラー

  25. 25

    JSONファイルをExcelテーブルに変換するPHPの形式が正しくありません

  26. 26

    ブール値を返そうとしたときにreturnステートメントがありません

  27. 27

    VueJsを使用したJQueryデータテーブルにデータがありません

  28. 28

    データテーブルに行を追加できません。データテーブルはエラーではありません

  29. 29

    エラー参照されたテーブルに主キーまたは候補キーがありません

ホットタグ

アーカイブ