将数组从php查询转换为可用的javascript格式

时间:2016-11-06 11:46:00

标签: javascript php arrays

如何从查询中获取我的php数组并使其看起来像这样:

$posts->A
$posts->B
$posts->C

我试过这样做:

["14-11-2016","15-11-2016"]

它给了我:

$result=$connection->query("select day from blockades");
while($row=mysqli_fetch_assoc($result)){
echo json_encode($row['day']);
echo ",";
}

但是当我尝试把它放在javascript数组中时

"1-11-2016","2-11-2016","3-11-2016","4-11-2016",

显然不起作用。控制台记录此:

var Array=<?php 
    while($row=mysqli_fetch_assoc($result)){
    echo json_encode($row['day']);
} 
?>
console.log(Array)

由于console.log没有提供任何内容我不知道它是否甚至将任何内容写入该js数组,有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

查看您的错误

  

未捕获的TypeError:无法读取属性&#39;原型&#39;未定义的

您似乎更改了Array的原型,可能是因为使用了

var Array=<?p

您需要使用array或任何其他变量,例如arr

var arr=<?p

然后

console.log(arr);

答案 1 :(得分:0)

问题是您正在编码每个单独的项目,但您需要对整个项目列表进行编码。

<?php
// Create array to hold all items.
$days = array();
$result = $connection->query("select day from blockades");
// Add the days to the array.
while($row = mysqli_fetch_assoc($result)){
    $days[] = ($row['day']);
}

// Output the JavaScript variable:
?>
<script type="text/javascript">
var Days=<?php echo json_encode($days) ?>;
console.log(Days);
</script>