0

PHP 脚本从 MySQL 数据库获取数据并使用 JSON 将数组返回给 javascript。我可以得到结果,但我不能让它们单独打印出来。

PHP 代码 -

header('Content-type:application/json');

$link = @new mysqli(_HOST, _USER, _PASS, _DB); //constants 
if(mysqli_connect_errno())
{
    //failure
}
else
{

    //success

    $sqlQuery = "SELECT COL1, COL2 FROM TABLE"; //the query should return two
                                               //columns from every selected row
    $mix = array();                            //array to return using JSON

    $result = $link->query($sqlQuery);

    if ($result->num_rows <= 0)
    {
        //no data
    }
    else
    {
        while ($row = $result->fetch_assoc())       //fetch loop
        {
            $mix["C1"][] = $row['COL1'];        
            $mix["C2"][] = $row['COL2'];        
        }
    }

    $result->free();

    // Close connection
    $link->close();
}

print json_encode($mix); //this line wont show up in previous code formatting block for some reason.

Javascript / jQuery 代码 -

$.ajax({ // ajax call
        url: 'serv.php', // server page
        data: 'fetch=1', //ignore any data
        dataType: 'json', // server return type
        success: function(data) // on success
        {
                for (var i in data) {
                    $('#someDiv').append( i + " = " + data[i] + '<br>');
                }
        }
    });

正如预期的那样,输出是这样的 -

C1 = 1,2
C2 = A,B

我想要完成的是将这些数据 ( 1,2,A,B) 放入表单表格元素中。为此,我需要单独选择 C1 或 C2 的每个元素。

我怎样才能做到这一点?

4

1 回答 1

0

我自己找到了解决方案。

以下 ajax 调用有效 -

$.ajax({ // ajax call
    url: 'serv.php', // server page
    data: 'fetch=1', //ignore any data
    dataType: 'json', // server return type
    success: function(data) // on success
    {
            for (var i in data["C1"]) {
                $('#someDiv').append( i + " = " + data["C1"][i] + '<br>');
            }
            for (var i in data["C2"]) {
                $('#someDiv').append( i + " = " + data["C2"][i] + '<br>');
            }
    }
});

我没有访问数据,而是尝试访问数据中的索引。就这么简单。

于 2013-06-07T11:12:24.333 回答