私はmysqlで自分のデータを持っています。私はPHPでデータを取得するためにPDOを使用しています。次にjson_encodeを使用してjsに変換します。私は次のシナリオを使用するとき、私は常に出力NaNを取得し、静的な配列を使用する場合は動作します。だから、それは間違ったJSON形式かPHPの何かであると推測しています。db dynamicからデータを取得できません
これは私がスムーズに配列の値を設定した場合は動作します: はcodepen:http://codepen.io/pghiran/pen/QEvRjW
ダイナミック(DBからデータを引き出し、配列に格納し、動作しません。これを行うための私のコード:。
PHP
$exchangeRates = array();
$sql = 'SELECT * FROM exchange';
try {
$stmt = $conn->prepare($sql);
$stmt->execute();
for ($i=0; $row=$stmt->fetch();$i++){
$exchangeRates[] = array($row['rs3'],$row['07'],$row['deadman'],$row['currency']);
}
}catch(exception $e){
return $e;
}
var_dump($exchangeRates);
var_dumpは次のように表示します:array [1] {[0] => array(4){[0] => string(3) "0.5" [1] => string(3) "1.5" [2 ] =>文字列(3) "3.5" [3] =>文字列(1) "$"}}
のJS/jQueryの:
var amount = $('#amount'),
goldtype = $('#goldtype'),
exchange= <?php echo json_encode($exchangeRates);?>,
price = $('#price');
console.log(exchange);
goldtype.change(function() {
var exchangeIndex = $("select[name='goldtype'] option:selected").index();
price.val(amount.val() * exchange[exchangeIndex]);
})
にconsole.log(交換)ディスプレイ:
[Array[4]]
0
:
Array[4]
0
:
"0.5"
1
:
"1.5"
2
:
"3.5"
3
:
"$"
length
:
4
https://gyazo.com/b167b38d62d9c4b567f31cc35ce00289
これは 'json_encode'には必要ないからです。データに' amount.val() 'を掛けたときにデータの呼び出しに' [0] 'を追加するだけです。例えば – Matt
var exchange = <?php echo json_encode($ exchangeRates);?>、変数は、私はこの行を削除する場合は、私はデータがありません。 – swipeales
'exchange = <?php echo $ exchangeRates;?>'これはすでにcodepenに表示されているハードコードに似た配列形式です。 – Matt