2017-07-19 16 views
0

私は現在、私の外の家族の誰かのウェブサイトのコーディングを行っています。私は棒グラフを作成しなければなりませんでした。今はSQLデータベースからデータを入力する必要があります。PHP配列からJavascript配列に値を取得するにはどうすればよいですか?

PHP:

<?php 
$exampleArray = ["212", "33", "7"] 
?> 

とJS:まず、私はちょうどこのような配列echo'd

<script> var jExampleArray = <? echo json_encode($exampleArray);?>; </script> 

をそして私は私の棒グラフコードでjExampleArrayを使用しました。今はとても満足していましたが、彼らはもっと安全である必要があると言います(会社に関係しています)、ページ上のコードを見ながら誰もデータを見ることができないようにする方法を見つけなければなりません。私はAjaxを使うことを考えましたが、それは私のためにはうまくいきませんでした。配列を警告するようにしましたが、Javascript配列を埋め込むことができませんでした。

以前はJS、PHPなどのSQLを使ったことはありませんでした。学校でJavaを学んだだけなので、私はかなり断固としていました。幸いにも、私は少なくとも私が書いた/コピーしたコードを理解することができました。

編集:[] JSアレイのない{}

+5

ExampleArrayが配列ではありません。 – aldrin27

+0

また、 'ソースの表示'では表示されない場合がありますが、IE/Chromeの簡単なF12(デベロッパーコンソール)では、JSコード、オブジェクト、データが表示されます。 –

+0

配列であるためには、 '$ exampleArray = [" 212 "、" 33 "、" 7 "]'; –

答えて

0

PHPの配列は、ページロードの使用に利用可能である場合は明記目標

$data=array(); 
while($rs=$db->fetch()){ 
    $data[]=array(
     'field_1' => $rs->field_1, 
     'field_2' => $rs->field_2, 
     'field_3' => $rs->field_3 
    ); 
} 

$json=json_encode($data); 


<script> 
    <?php 
     echo "var jExampleArray={$json};"; 
    ?> 
    /* rest of barchart code */ 
</script> 
0

を達成する方法を示すためにいくつかの擬似コード:

var arr = JSON.parse(responseArray); 
012:
<?php 
$phpArray = array('data1' => 2, 'data2' => 3); 
?> 
<script>var arr = <?php echo json_encode($phpArray); ?>;</script> 

は、Ajaxを使用して、ページの読み込み後にJSでPHPの配列を取得するには

+0

'var arr = JSON.parse(responseArray);'は動作しません – Luca

+0

@LucaKiebel JSON.parseは生のテキストをJS配列に変換します(正しくフォーマットされている場合)。メソッドがajaxレスポンスで使用されることを指定するスレッドを更新しました。 – ChristianG

1

PHP配列を作成するための構文が正しくありません。

PHP配列をJavaScript配列とオブジェクトに変換するには、関数json_encodeを使用します。

<?php 

$arr = ['hello', 'world', 'foo', 'bar']; 
$obj = ['hello' => 'world', 'foo' => 'bar']; 

echo 'var Array = ' . json_encode($arr) . PHP_EOL . 
    'var Obj = ' . json_encode($obj, JSON_FORCE_OBJECT) . PHP_EOL; 

は以下になります:

var Array = ["hello","world","foo","bar"] 
var Obj = {"hello":"world","foo":"bar"} 
+0

私はこれを試しましたが、うまくいきませんでした。常に最初の行に何か問題があると言います。$ arr = ..... – estier

+0

実行中のPHPのバージョンは? 'echo phpversion()'だけのファイルを作成してください。5.4より小さい場合、 '$ arr = array( 'hello'、etc ');' – mulquin

+0

ありがとう!を使って配列を作成する必要があります。私は実際に5.2 – estier

関連する問題