我习惯每天手动更新javaScript变量
<script>
var data = [
['Austria','IBM','8284927','UF93NV', '10'],
['Spain','Dell','1098193','MN87QA', '4'],
...
];
//rest of my code
<script>
我想使用PHP从SQL查询结果中将值传递给此变量,这样我就不需要每天键入多行。 我创建了这个PHP文件,我连接到我的数据库并将查询结果存储在一个数组中。
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$ser="*******";
$db="*******";
$user="*******";
$pass="*******";
$dbDB = new PDO("odbc:Driver=ODBC Driver 13 for SQL Server;Server=*******;Database=*******;Port=1456", $user, $pass);
$sth = $dbDB->prepare("SELECT top 2 [Country],[Customer Name],[Purchase Number],[Part Number],[Qty] FROM *******");
$sth->execute();
$result = $sth->fetchAll();
print_r($result);
?>
现在我想使用 jason_encode 将变量 $ result 中的值传递给javaScript标记内的变量 data 。 我在同一个PHP文件中添加了以下代码
<script type="text/javascript">
var data = <?php echo json_encode($result); ?>;
alert(data.toString());
</script>
我的变量应该是这样的
var data = [
['Austria','Tech Data Service GmbH','3508224010','01HV707', '4'],
['Austria','Tech Data Service GmbH','3508314557','40M7578', '1']
];
任何建议请问我错过了什么?谢谢。
答案 0 :(得分:1)
您的变量中已存在数据。要查看对象的外观,可以使用alert(JSON.stringify(data))
。
您的data
变量的内容不会是JavaScript中的数组,因为PHP中的关联数组是JSON中的对象。
要获得您想要的结果,最简单的解决方案是使用$result = $sth->fetchAll(PDO::FETCH_NUM);
。