微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP-如何在JSON中使用while()?

我有一个需要返回一些值的ajax,但是如果我使用while()从我的数据库获取所有结果,则返回的是“无”.

js:

$.post("ajax/file.ajax.PHP", 
  { 
    cache: false
  }, 
  function(data){ 
    alert(data.region);
  },'json'
);

PHP

while(!$res->EOF)
    {
        header('Content-Type: application/json');
        $return_data = array('value'=>''.$res->fields['VALUE'].'','region'=>''.$res->fields['REGION'].'');
        echo json_encode($return_data);

        $res->MoveNext();
    }

因此,我如何在json中使用while?

解决方法:

最简单的解决方案是先创建一个数组,然后将array.push生成的行推到它的末尾.

例如:

PHP

$array = array();

while(!$res->EOF) {
    $dataFromDB = array('value'=>''.$res->fields['VALUE'].'','region'=>''.$res->fields['REGION'].'');
    $array[] = $dataFromDB; //or array_push($array, $dataFromDB); 

    $res->MoveNext();
}

header('Content-Type: application/json');
echo json_encode($array);

JS:

$.post("ajax/file.ajax.PHP", 
  { 
    cache: false
  }, 
  function(data){ 
    for(n in data) {
        alert(data[n].region);
    }
  },'json'
);

然后输出json编码的数组以完成操作.

您还应该将标题移出while循环,并在回显新数组之前放好它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐