Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在单个json中合并来自多个查询的多个结果_Php_Database_Codeigniter - Fatal编程技术网

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

Php 如何在单个json中合并来自多个查询的多个结果,php,database,codeigniter,Php,Database,Codeigniter,我对如何将两个查询的结果合并到一个json文件很感兴趣 我有一个问题:选择*来自学生 我的第二个问题是:从教师中选择* 我已经使用了array\u merge,但它不起作用,我如何修复它。感谢您的帮助如果您的表具有相同的列计数,则可以在查询中使用UNION ALL Select * from student UNION ALL select * from teacher 如果两个表中的列不同,则可以创建一个包含两个元素的数组,第一个元素包含学生查询的结果,第二个元素包含教师查询的结果 $res

我对如何将两个查询的结果合并到一个json文件很感兴趣

我有一个问题:选择*来自学生

我的第二个问题是:从教师中选择*


我已经使用了
array\u merge
,但它不起作用,我如何修复它。感谢您的帮助

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

Select * from student
UNION ALL
select * from teacher

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

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

如果这两个表是相关的,那么一个表中有一个外键指向另一个表中的一条记录,您可以使用一个查询连接这两个表。

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

根据您的注释,两个表之间存在关系,因此您只需使用单个查询即可获得这样的合并结果

只需使用mysql

条件应根据您的需要与您的关系栏进行更改


如果您先将json转换为arraymerge,然后再将结果编码为jsonhai,则可以使用array_merge,谢谢您的回答。我有一个问题。我想从两个查询的两个结果创建json,我可以这样做吗?显示您的query1数组和query2数组。您的答案至少是tahanks的arrayhai示例,但如果我的表有不同的列呢?我也可以用Union吗,先生?你打算把每个表中的所有列都用上吗?或者只是一些特定的栏目?例如老师的名字和学生的名字。。。或者,你可以简单介绍一下你的两个表结构hai@coriano是的,我想得到我的表的特殊列。这两个表之间有关系吗@DennyKurniawan@JYoThI是的,先生,这是一段关系是的,这是我需要的,我只是错过了我的限额查询。谢谢你的帮助,先生。很高兴帮助你:)
$results = array(
    'students' => $student_results,
    'teachers' => $teacher_results
)
select * from student join teacher on student.teacher_id = teacher.id ;