我正在试图弄清楚如何使用jQuery的.ajax()
来查询MySQL表并将结果作为数组返回。这就是我到目前为止所做的:
jQuery的:
$.ajax({url: 'procedures?',
data: {Action: 'GetSuggestList' },
dataType: "json",
success: function(oData){
if(oData.errormsg != null)
alert('failed: ' + oData.errormsg);
alert(oData.results);
}});
PHP代码(假设我的mysql_connect()
和mysql_select_db()
有效):
$pcAction = isset( $_REQUEST['Action'] ) ? $_REQUEST['Action'] : "" ;
if($pcAction=='GetSuggestList'){
$tb_name = 'suggestions';
echo json_encode( DoGetSuggestList($tb_name) ) ;
}
function DoGetSuggestList($ptb_name){
$qry_suggest = mysql_query('SELECT * FROM ' . $ptb_name . ' WHERE Active ORDER BY updated DESC');
$rsl_suggest = mysql_fetch_array($qry_suggest);
$jSONreturn = array("errormsg" => $jSONerror, "results" => $rsl_suggest);
return $jSONreturn;
};
我不确定在我的AJAX成功函数中还需要什么才能迭代遍历数组中每个结果行...
答案 0 :(得分:3)
我认为您需要在json_encode()
之前将查询结果转储到关联数组中。
while( ... ) {
$a_results[] = array( 's_column' => $row['column'] );
}
return json_encode( array('errormsg' => $jSONerror, 'results' => $a_results) );