Php 一个Json对象中的MySQL查询

Php 一个Json对象中的MySQL查询,php,mysql,Php,Mysql,目标是为Javascript XMLHttpRequest返回一个json对象 返回的对象将是(示例): 我面临的问题如下:“color”值来自另一个表。 因此,我需要启动第一个查询: SELECT id, start_date, end_date, name FROM table1 WHERE category='$category' 对于每行中返回的每个名称值,我需要启动另一个查询以从另一个表中获取颜色: SELECT color from table2 WHERE name='$name

目标是为Javascript XMLHttpRequest返回一个json对象

返回的对象将是(示例):

我面临的问题如下:“color”值来自另一个表。 因此,我需要启动第一个查询:

SELECT id, start_date, end_date, name FROM table1 WHERE category='$category'
对于每行中返回的每个名称值,我需要启动另一个查询以从另一个表中获取颜色:

SELECT color from table2 WHERE name='$name'

如何“合并”两个查询的结果,以便在一个json对象中将其返回给XMLHttpRequest?

要解决这个问题,可以使用子句。join子句基于一个公共列(在您的示例中是
name
列)组合来自两个或多个表的行

解决问题的SQL是:

    SELECT id, start_date, end_date, table1.name AS name, color 
    FROM table1
    JOIN table2 ON table1.name = table2.name
    WHERE category = "$category"
请注意,在SELECT子句中,我使用了
table1.name作为name
,因为两个表中都有
name
列,它将生成一个与
name
列的重复性相关的错误
    SELECT id, start_date, end_date, table1.name AS name, color 
    FROM table1
    JOIN table2 ON table1.name = table2.name
    WHERE category = "$category"