-1

私の目標は、jsファイルに「通常の」JS配列を取得することです。たぶんjsonがそれを行う方法ですが、配列内の要素は順番のままで、3つの配列の配列である必要があります:[["1"、 "2"、 "3"] ["1"、 "2" 、"3"] ["1"、 "2"、"3"]]。

私のphp-query(上記の配列を生成します-つまり、動作します):

//これはファイル'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

ページのレンダリング時にJSに渡されるPHP変数だけが必要な場合は、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または未定義の場合は、割り当てをレンダリングしないようにする必要があります。そうしないと、クライアント側のエラーが発生します。

于 2013-02-05T11:43:37.007 に答える