php jquery在成功函数中迭代php数组

时间:2013-04-10 07:34:33

标签: php jquery ajax

我有jquery pop表单。它需要来自用户的一个输入,mapping_key,一旦用户输入映射键,我进行ajax调用以检查数据库中是否有用户使用这样的密钥。 这是我的电话。

使用Javascript:

$.ajax({       
    url : base_url+'ns/config/functions.php',
    type: 'POST',
    data : {"mapping_key":mapping_key} ,
    success: function(response) {
            alert(response)                        
    }
});

PHP:

$sql = "select first_name,last_name,user_email,company_name from registered_users where mapping_key = '$mapping_key'";    
$res = mysql_query($sql);
$num_rows = mysql_num_rows($res);
if($num_rows == 0)
{
    echo $num_rows;
}
else{
    while($result = mysql_fetch_assoc($res))
    {
       print_r($result);
    }
}

现在我想循环遍历返回的数组并添加这些返回的值以便以另一个弹出窗体显示。 非常感谢任何建议或帮助。

3 个答案:

答案 0 :(得分:2)

在你的php中,回显一个json_encoded数组:

$result = array();
while($row = mysql_fetch_assoc($res)) {
   $result[] = $row;
}
echo json_encode($result);

在你的javascript中,将$ .ajax dataType属性设置为'json',然后你就可以循环返回的数组了:

$.ajax({       
    url : base_url+'ns/config/functions.php',
    type: 'POST',
    data : {"mapping_key":mapping_key} ,
    dataType : 'json',
    success: function(response) {
        var i;
        for (i in response) {
          alert(response[i].yourcolumn);
        }                      
    }
});

答案 1 :(得分:0)

更改

data : {"mapping_key":mapping_key} ,

data: "mapping_key=" + mapping_key,

答案 2 :(得分:0)

您必须采用已发布的mapping_key

$mapping_key = $_POST['mapping_key'];

$sql = "select first_name,last_name,user_email,company_name from registered_users
        where mapping_key = '$mapping_key'";

或者这个:

$sql = "select first_name,last_name,user_email,company_name from registered_users
        where mapping_key = $_POST['mapping_key']";