Array_push只提供sql查询中的一个值?

时间:2016-03-20 19:09:17

标签: php mysql database

我有一个sql查询,它以格式获取数据:
日期评论
12-3-2016当地会议

等等..

我正在使用array_push作为值,以便我可以在页面中显示它们,但我只使用array_push获取一个值。这是我的代码:

$res = mysqli_fetch_array($r);      
    $result = array();  

    array_push($result,array(
        "Date"=>$res['date'],
        "Events"=>$res['comment']
        )
    );      
//using JSON 
    echo json_encode(array("result"=>$result)); 
    mysqli_close($con);

我得到的输出是这样的:

{"result": [{"Date": "12-3-2016","Events": "Parent Teacher Meeting"}]}

1 个答案:

答案 0 :(得分:1)

mysqli_fetch_array($r)从结果集中提取一个行。要从结果集中获取所有行,您应该使用while - 循环:

$result = array();   
while($res = mysqli_fetch_array($r)) {  // here, a while-loop
    array_push($result,array(
        "Date" => $res['date'],
        "Events" => $res['comment']
    ));      
}

//using JSON 
echo json_encode(array("result"=>$result)); 
mysqli_close($con);