0

他の投稿を見ましたが、うまくいきません。PHPからJSに配列を実装する方法について、ここで少し混乱しています...

PHPファイル(test.php)には次のものがあります:

  $table = array();  
  while($row = mysqli_fetch_assoc($result) )  
  {

   $value=$row['value'];
   $date=$row['date'];

   $table[$value]=$date;

  }

そしてJavaScriptで私は持っています:

  <?php include 'test.php';  ?>

   ... 

  data: (function() {
  // generate an array of random data
   var data = [],
    time = (new Date()).getTime(),
    i;

   for (i = -19; i <= 0; i++) {
    data.push({
     x: time + i * 1000,
     y: Math.random()
    });
   }
   return data;

したがって、私が探しているのは$value=$row['value'];y :and$date=$row['date'];x : ORに入れることです。おそらく、テーブル全体を$tableORに入れることvar dataもできます。

私はJavaScriptが初めてなので、よろしくお願いします..!

4

1 に答える 1

2

だからあなたのphpファイルで....

テーブルを json データに変換する行を一番下に追加します。そしてそれに変数を与えます...

$table = array();  
 while($row = mysqli_fetch_assoc($result) )  
 {

   $value=$row['value'];
   $date=$row['date'];

   $table[$value]=$date;

 }

 $jsondata = json_encode($table);

次に、他のファイルで....その変数をjavascriptのデータオブジェクトにエコーします。その乱数生成関数全体を削除することを忘れないでください...(単なる例です)

ただし、PHP を JavaScript にエコーすることは、良い習慣とは見なされません。そして、実際に php ファイルに ajax 呼び出しを行い、そのように挿入する方がよいでしょう.... また、ajax の実行方法も示します。

  <?php include 'test.php';  ?>

    ... 

   data: [<?php echo $jsondata;?>], //remove that function that was here..
   // it was just to generate random numbers for the demo
   ....
   }

編集/更新 ajaxの場合...

したがって、ajaxの場合... $jsondataに変数を割り当てる代わりに。そのように返すだけです...(PHPファイルで)

 return json_encode($table);

そして、この方法では....あなたinclude('test.php')は以前のようにはなりません。代わりに、このスクリプトを $(document).ready(function(){.... 内に配置するだけです。

$.getJSON('test.php', function(myJSON) {

 //and inside this function you put your highcharts stuff...
 //remove that function() that generates random data
 // And you will put the 'myJSON' return object inside the 'data':[] array...
 // Provided you have structured your data correctly for highcharts, it should work...
 //  If not.... it'll be a start, and you're well on your way to debugging it

}
于 2013-06-13T07:49:34.190 に答える