У меня 3 таблицы:PHP MySQL и GROUP_CONCAT
module_names (MODULE_ID, module_name)
- 1 | test_module
- 2 | test_module2
- 3 | test_module3
module_groups (group_id, group_name)
- 1 | группа
- 2 | group2
- 3 | group3
- 4 | Group4
modules_to_groups (MODULE_ID, group_id)
- 2 | 2
- 1 | 2
- 3 | 4
Когда я использую GROUP_CONCAT в моем запросе я получение правильные результаты
group2 -> test_module , test_module2
group4 -> test_module3
Но я хочу:
group1 -> (no module added yet)
group2 -> test_module , test_module2
group3 -> (no module added yet)
group4 -> test_module3
Все функции я использую:
function ListModuleGroups() {
global $admin,$prefix, $db, $admin_file;
OpenTable();
echo '<div><b>Groups and Modules :</b></div>';
$result = $db->sql_query("SELECT m.module_id, m.module_name, g.group_name, g.group_id, GROUP_CONCAT(m.module_name) from " . $prefix . "_mmmodule_groups g, " . $prefix . "_mmmodule_names m, " . $prefix . "_mmmodule_to_group m2g where m.module_id = m2g.module_id and m2g.group_id = g.group_id and g.group_id = g.group_id group by g.group_id");
while($row = $db->sql_fetchrow($result)) {
$group_name = $row['group_name'];
$module_name = $row['GROUP_CONCAT(m.module_name)'];
echo "<div>".htmlentities($group_name). '--' . htmlentities($module_name)." </div>";
}
CloseTable();
}
Спасибо ВАМ !! , я принял ваш ответ, потому что вы заметили слева от group_id = group_id, и вы написали полную функцию. +1. – HenryW