-1

我的目标是——最终——在我的 js 文件中获得一个“正常”的 JS 数组。也许 json 是这样做的方法 - 但数组中的元素应该保持有序,它只是三个数组的数组: [["1","2","3"]["1","2" ,"3"]["1","2","3"]]。

我的 php 查询(它确实产生了上面的数组 - 我的意思是:它确实有效):

// 这是文件'dbquery.php'

<?php
    include_once('../resources/init.php');

    $query = mysql_query("SELECT `useranswer`, `solution`, `time` FROM `results`");
    $qlen = mysql_query("SELECT COUNT(1) FROM `results`");
    $len = mysql_result($qlen, 0);

    $user_a = array();
    $solu_a = array();
    $time_a = array();

    while($row = mysql_fetch_assoc($query)){

       array_push($user_a, $row['useranswer']);
       array_push($solu_a, $row['solution']);
       array_push($time_a, $row['time']);
    }

    $cd_result = array($user_a, $solu_a, $time_a);
    $cd_answer = json_encode($cd_result);
    echo $cd_answer;
?>

我认为 json 不是这里的适当形式。

现在我想要的只是我的 js 文件中的一个 js 数组,例如:my_array = [[1,2,3],[1,2,3],[1,2,3]]

但我非常未能做到这一点。

使用 $.ajax() 我不知道如何在没有 'data: ' 每个值的情况下一次获取所有数据。我只想从 php 中“捕捉”我的回声 - 怎么做?

4

2 回答 2

1

这样做

<?php
    include_once('../resources/init.php');

    $query = mysql_query("SELECT `useranswer`, `solution`, `time` FROM `results`");
    $qlen = mysql_query("SELECT COUNT(1) FROM `results`");
    $len = mysql_result($qlen, 0);

    $user_a = array();
    $solu_a = array();
    $time_a = array();

    while($row = mysql_fetch_assoc($query)){

       array_push($user_a, $row['useranswer']);
       array_push($solu_a, $row['solution']);
       array_push($time_a, $row['time']);
    }

    $cd_result = array($user_a, $solu_a, $time_a);
    $cd_answer = json_encode($cd_result);
    echo json_encode ($cd_answer);  // encode in json format
?>

并在 ajax 中:

$.ajax({
  type: "GET",
  url: "test.php",
  dataType: "json",
  data : {anything : 1},
  success:function(data){ 
    var x = jQuery.parseJSON( data ); // parse the answer
    // if you want in an array format then just use eval()
    x = eval(x);
    alert(x);
}
});
于 2013-02-05T10:36:26.623 回答
0

如果您只需要在呈现页面时将 PHP 变量传递给 JS,请在您的 PHP 视图层中执行此操作:

<script type="text/javascript">
    var myInt = <?php echo $int ?>;
    var myString = '<?php echo $string ?>'; 
    var myArray = <?php echo json_encode($array) ?>;

    // All these JS variables can now be used here
</script>

显然,你需要确保变量是有效的——所以在 int 的情况下,如果它是 null 或 undefined,你需要确保你不渲染赋值——否则会产生客户端错误。

于 2013-02-05T11:43:37.007 回答