0

JavaScript関数によって作成されたチャートにデータを入力する必要があります。チャートにはMySQLDBデータが入力されている必要があります。myquery.phpでSQLクエリを定義しています。このphpコードは、グラフの作成に使用する必要のある配列を返します。問題は、myquery.phpを実行して、JavaScript関数createChartControl内でさらに使用できる出力配列を取得する方法です。

<script type="text/javascript" language="JavaScript">
function createChartControl(htmlDiv1)
{
   // Draw chart
}
(function(){
    createChartControl('schedule');
})();
</script>
4

2 に答える 2

1

jQueryは、AJAXに関してはあなたの生活をとても楽にしてくれます。ライブラリの使用に本当に反対している場合は、プレーンなjavascriptで使用できる xmlhttprequestの例を見ることができます。

jQueryは次のようになります。

function ajaxCall(){

    $.ajax({
         url: 'myquery.php',
         type: 'POST',
         data: {any_var: var_value},
         success: function(data) {
                  var returned_array = $.parseJSON(data)
                  createChartControl(htmlDiv1, returned_array)
                  }
    })
}

基本的に、myquery.phpに必要なデータを送信し、myquery.phpでany_varその値を取得し$_POST['any_var']、クエリを実行してから、JavaScriptに返したい配列をjson_encodedataし、最後に返されたデータを解析します。使用可能なjavascriptオブジェクトになる関数。これで、それを使ってやりたいことができますが、私の例では、それをreturned_array関数に送信していることがわかりcreateChartControl()ます(配列にパラメーターを追加する必要があります)。

多田、ajaxマジック。

于 2012-08-10T18:44:46.767 に答える
1

JS側でjQueryライブラリを使用することを強くお勧めします。(http://jquery.com/

1-Ajaxなし:(ページがロードされたときにデータが利用可能になる場合):

<script type="text/javascript" language="JavaScript">
var myData = <?php echo json_encode($myArray); ?>;

function createChartControl(htmlDiv1)
{
   // your code to draw chart
   // read myData a fill the chart
}
(function(){
    createChartControl('schedule');
})();
</script>

2-ajaxを使用(jQueryを使用):

function loadMyData(){
 $.getJSON('ajax/myquery.php', function(data) {
  var items = [];

  $.each(data, function(key, val) {
    items.push(val);
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
 });
}

便利なサイト: http: //php.net/manual/pt_BR/function.json-encode.php
http://api.jquery.com/jQuery.getJSON/
JavaScriptでJSONを解析しますか?

于 2012-08-10T18:54:52.923 に答える