0

JSON ajax リクエストを作成し、配列を返す必要があります。

私は他の複数の質問でこのコードを見つけました(私の問題に合わせて編集しました):

var hej[];
function ajax_search(){ 
    $.getJSON('test.php',function(response){
    var data = response.get_response;
    for (i in data){
      hej.push([i,data[i]]);
    }
alert(hej[0]);
}

PHP の部分には、データベースがあり、そこから 5 つの列があるデータが必要です。行。行が 1 つしかなく、配列内の 5 つの列すべてが必要です。

$sql = "SELECT * FROM 'table'
   LIMIT 1 OFFSET $i"; //random offset
$result = mysql_query($sql);

$storeArray = Array();
while($row = mysql_fetch_array($result))
{
    $storeArray[0]=$row['column1'];
    $storeArray[1]=$row['column2'];
    $storeArray[2]=$row['column3'];
    $storeArray[3]=$row['column4'];
    $storeArray[4]=$row['column5'];
}
$json = json_encode($storeArray);
echo $json;

私は何か間違ったことをしていることを知っており、プログラミングは初めてです。呼び出し後に JavaScript のすべての列の値にアクセスし、それらを他の関数で使用できるようにする必要がありますが、それを返すことができません。

どちらかにエラーがある場合は、javascript と php の両方を使用して、本当に助けていただければ幸いです。

4

3 に答える 3

0

response.get_response を使用する理由

var hej[];
function ajax_search(){ 
    $.getJSON('test.php',function(data){
    $.each(data, function (i,item) {
      hej.push([i,item]);
    }
alert(hej[0]);
}
于 2012-08-27T08:43:13.490 に答える
0

そのはず:

function ajax_search(){ 
    $.getJSON('test2.php',function(response){
        // response.column1
        // response.column2
        // response.column3

        // for array push:
        var hej = [];
        $.each(response, function(key, val) {
             hej.push(val);
        });
        alert(hej[0]); // it will alert column1
    });

}

およびMySQL:

$sql = "SELECT `column1`, `column2`, `column3`, `column4`, `column5` FROM `table` LIMIT 1 OFFSET $i"; //random offset
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$json = json_encode($row);
echo $json;
于 2012-08-27T08:58:37.870 に答える
0

これを試して:

Javascript コード:

var hej[];
function ajax_search(){
    $.getJSON('test.php',function(response){
        $.each(response.results, function(key, val) {
            hej.push(val);
        });
        alert(hej[0]);
    });
}

PHP コード:

<?php
$sql = "SELECT * FROM 'table' LIMIT 1 OFFSET $i"; //random offset
$result = mysql_query($sql);

$storeArray = array();
while($row = mysql_fetch_array($result)) {
    $storeArray[0]= $row['column1'];
    $storeArray[1]=$row['column2'];
    $storeArray[2]=$row['column3'];
    $storeArray[3]=$row['column4'];
    $storeArray[4]=$row['column5'];
}

$json = json_encode( array('results' => $storeArray ) );
echo $json;
?>

お役に立てれば。

于 2012-08-27T08:45:55.140 に答える