如何在单个json中合并来自多个查询的多个结果

时间:2017-03-28 05:06:04

标签: php database codeigniter

我很有兴趣如何在单个json文件中合并两个查询的结果?

  

我有一个问题:从学生中选择*

     

和我的第二个问题:从老师那里选择

$result = array_merge($query1, $query2);
echo json_encode($result);

我使用array_merge但它不起作用,我该如何解决这个问题。谢谢你的帮助

4 个答案:

答案 0 :(得分:1)

根据你的评论你有两个表之间的关系,所以你只需使用单个查询来获得这样的合并结果。

只能使用mysql JOIN

select * from student join teacher on student.teacher_id = teacher.id ;
  

条件应根据您的需要随关系列进行更改

答案 1 :(得分:0)

如果您的表具有相同的列数,则可以在查询中使用UNION ALL。

Select * from student
UNION ALL
select * from teacher

答案 2 :(得分:0)

如果两个表中的列不同,则创建一个包含两个元素的数组,第一个包含学生查询的结果,第二个包含教师查询的结果。

$results = array(
    'students' => $student_results,
    'teachers' => $teacher_results
)

如果这两个表是相关的,IOW,一个外键指向另一个中的记录,你会使用一个连接这两个表的查询。

答案 3 :(得分:0)

首先,将查询结果更改为数组然后合并两者。