javascript - 我怎样才能执行javascript中的所有行

标签 javascript php arrays

在数据库表中,我有年龄列,其中有超过 50 行。

id age

1 45

2 41

3 09

......

60 11

我的数组中总是有 10 个键,

<?php
    $arr = array(0,0,0,0,0,0,0,0,0);
    echo json_encode($arr)."<br>";    
    $con = mysqli_connect('127.0.0.1','app_user2','qwe123','test');
    $select="select age from ad;";
    $res = mysqli_query($con, $select);                      
    while ($row=$res->fetch_assoc()) {
        $arr=array_slice($arr,1,9);
        //$arr[]=$row['id'];
         $arr[]=array($i++, (int)$row['age']);
        echo json_encode($arr)."<br>";
   }
?>

我得到以下输出=>

[0,0,0,0,0,0,0,0,0,[0,45]]

[0,0,0,0,0,0,0,0,[0,45],[1,41]]

[0,0,0,0,0,0,0,[0,45],[1,41],[2,11]]

[0,0,0,0,0,0,[0,45],[1,41],[2,11],[3,21]]

[0,0,0,0,0,[0,45],[1,41],[2,11],[3,21],[4,44]]

.............................
[[1,41],[2,11],[3,21],[4,44],[5,13],[6,15],[7,12],[8,7],[9,14],[10,11]]

........................

现在当我执行

echo json_encode($arr)

在 JavaScript 中我只得到最后 10 个值。我想一一执行所有行。我怎样才能做到这一点?可以吗?请帮忙。

这是我的脚本代码

<script type="text/javascript">
    var data=[];
    data=<?php echo json_encode($arr); ?>;
    document.write(data);
</script>

最佳答案

这是因为您的字符串不是有效的 json 格式。然后你就得到一行的输出。您可以考虑以正确的方式构建,例如:

$myArray = []
while ($row=$res->fetch_assoc()) {
    $arr=array_slice($arr,1,9);
    //$arr[]=$row['id'];
     $arr[]=array($i++, (int)$row['age']);
    array_push($myArray, $arr);
}

然后:

data=<?php echo json_encode($myArray ); ?>;

(PS:在 JavaScript 中硬编码服务器端代码不是一个好的做法)

关于javascript - 我怎样才能执行javascript中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32951762/

相关文章:

javascript - 遍历 JSON 和渲染表元素没有结果

php - SSL/TLS 保护需要 openssl 扩展

php - 我怎样才能得到 table 外的图像?

javascript - 如何使用 React 映射对象数组的对象数组

javascript - 使用 ng-repeat 和嵌套循环添加行

javascript - 从派生类访问基类的 protected 字段(ES2019 私有(private)类)

Javascript:从 blob 数据创建字体

javascript - 在javascript中,我如何获得一个指示字符一般类别的值,例如java Character.getType?

javascript - 将选择下拉列表更改为复选框

python - 带有全零的 Numpy 填充 4D 单元