Php MySQL查询选择表2中与表1匹配的所有结果
我将页面存储在数据库中,另一个表存储同一页面的翻译: 表第页\u页:Php MySQL查询选择表2中与表1匹配的所有结果,php,mysql,Php,Mysql,我将页面存储在数据库中,另一个表存储同一页面的翻译: 表第页\u页: ID Title Content 1 First Page Stuff... 2 Second Page More stuff... 表PAGEU翻译: ID PageID LanguageID Title Content 1 1 2 Primero pagina Cosas... 因此
ID Title Content
1 First Page Stuff...
2 Second Page More stuff...
表PAGEU翻译:
ID PageID LanguageID Title Content
1 1 2 Primero pagina Cosas...
因此,现在我正在查询page\u pages
表以获取页面信息:
$query = SELECT * FROM page_pages WHERE ID = 1
我如何调整此查询以选择以PageID
作为translations
存在的翻译,并将其作为自己的数组,以LanguageID
作为数组键
这样,我可以检查翻译是否存在,如:
$language_id = 1;
if (isset($query['Translations'][$language_id])) {
echo $query['Translations'][$language_id]['Title'];
} else {
echo $query['Title'];
}
您需要将MySQL的
group\u concat
函数与“left join”一起使用,例如:
SELECT
pp.id,
pp.title,
pp.content,
group_concat(pl.language_id) AS languages
FROM
page_pages pp
LEFT JOIN page_translations pl ON pp.id = pl.pageID
WHERE
pp.id = 1
GROUP BY
pp.id;
以下是您需要使用MySQL的
group\u concat
函数和“left join”的,例如:
SELECT
pp.id,
pp.title,
pp.content,
group_concat(pl.language_id) AS languages
FROM
page_pages pp
LEFT JOIN page_translations pl ON pp.id = pl.pageID
WHERE
pp.id = 1
GROUP BY
pp.id;
这是你想要什么结果?你想要什么结果?谢谢。我自己永远也不会想到这个谢谢。我一个人永远也不会想到这一点