<?php
try {
$conn = new PDO('mysql:host='.$host.';dbname='.$dbname, $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$data = $conn->query('SELECT id FROM products');
foreach($data as $row) {
$r[] = json_encode($row);
}
} catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage();}
?>
<script type="text/javascript">
var jArray = <?php echo json_encode($r); ?>;
function showme(j) {
for(var i=0; i < j.length; i++){ document.write(j[i]); }
};
showme(jArray);
</script>
結果...
{"id":"172","0":"172"}{"id":"173","0":"173"}{"id":"174","0":"174"}...
余分に気づく,"0":"172"
PHP foreach または PDO の使用でデータを渡す方法でエラーが発生していると思います。正直なところ、JavaScript とデータを操作できるように、最小のフットプリントで MySQL からデータを取得したいだけです。余分なデータを取り除く (および/または PDO の使用に関するパフォーマンスの向上) についてのアイデアはありますか? 純粋な JavaScript を使用し、サーバー リソースを制限する必要がある (したい) ため、ライブラリは使用しないでください。