从多个mysql查询创建json数组

时间:2016-08-07 07:38:27

标签: php mysql arrays json

例如我有两个表post table和user table,从这些我想创建一个json数组来传递bootstrap数据表。

我的表结构。发布表和用户表。我想生成一个包含帖子详细信息和用户详细信息的输出表。但是用户名应该在下拉框中。

enter image description here

enter image description here

<?php
include('config/db_i.php');

$sql_post = mysqli_query($con,"SELECT * FROM `post_tbl`");
$array = array();
$array['data'] = array();

while($res_post = mysqli_fetch_array($sql_post)){

    $sql_user = mysqli_query($con,"select * from user_tbl where user_id='".$res_post['user_id']."'");
    $row_user = mysqli_fetch_array($sql_user);

    //what i'll code here
    $array['data'][] = $res_post; 

}
echo json_encode($array);
?>

1 个答案:

答案 0 :(得分:1)

您可以通过将两个表连接在一起来在查询级别进行连接:

Select ps.post_id, ps.post_title, us.user_id, us.user_name FROM post_tbl AS ps JOIN user_tbl AS us ON ps.user_id = us.user_id

这样,获取数组的每一行都会有post信息和用户信息,你可以自由地传递给bootstrap数据表。

*您也可以使用NATURAL JOIN