我正在使用两个左联接从 3 个表中选择数据。
这一切都有效,直到迭代一个关联值(我认为,通过消除过程)。
我现在有理由相信 select 语句在 JOIN 点是不正确的,但我看不出是怎么回事。
未按预期运行的连接:
LEFT JOIN
ae_template_pageTypes t ON t.ae_template_pageTypes_id = tp.ae_template_page_group_id
我在这里尝试通过 ae_template_pageTypes_id
关联获取 ae_template_pageTypes_type_label
。
表:ae_template_groups
HTML 输出(均显示 HTML 而不是分别使用 join)
问题 我期望格式部分中有 2 个不同的值,此处显示为 HTML。我无法找到发生这种情况的原因。
选择
SELECT tg.ae_template_group_name, tp.ae_template_page_id, tp.ae_template_page_group_id, tp.ae_template_page_title, tp.ae_template_page_type, tp.is_group_index, t.ae_template_pageTypes_id, t.ae_template_pageTypes_type_label
FROM
ae_template_pages tp
LEFT JOIN
ae_template_pageTypes t ON t.ae_template_pageTypes_id = tp.ae_template_page_group_id
LEFT JOIN
ae_template_groups tg ON tg.ae_template_group_id = tp.ae_template_page_group_id
WHERE tp.ae_template_page_group_id = '$tempGroup_id'
注意:我已经尝试了所有类型的连接来测试但没有找到解决方案。
PHP
foreach ($template_pages as $key => $value) {
?>
<li class="dd-item dd3-item" data-id="<? echo $template_pages[$key]['ae_template_page_id']; ?>">
<div class="dd-handle dd3-handle"></div>
<div class="dd3-content ae_template_page" data-template_page_name='<? echo $template_pages[$key]['ae_template_page_title']; ?>' data-template_page_id='<? echo $template_pages[$key]['ae_template_page_id']; ?>'><? echo $template_pages[$key]['ae_template_page_title']; ?>
<span style='float: right;margin-top: -3px;'>
<div style="" class="btn-group">
<span class="btn-info btn-xs dropdown-toggle" data-toggle="dropdown" title="Click to change file type" type="button"><? echo $template_pages[$key]['ae_template_pageTypes_type_label']; ?></span>
<ul role="menu" class="dropdown-menu" data-page_id='<? echo $template_pages[$key]['ae_template_page_id']; ?>'>
<li><a href="#">JS</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
</ul>
<span class="btn-info btn-xs" title="This file belongs to Template Group: <? echo $template_pages[$key]['ae_template_group_name']; ?>" type="button"><? echo $template_pages[$key]['ae_template_group_name']; ?></span>
<?
if ($template_pages[$key]['is_group_index'] == 1) {
?>
<span class="btn-success btn-xs" title="This is the default file for this group" type="button">Group index</span>
<?
}
?>
</div>
</span>
</div>
</li>
<?
}
最佳答案
对于现在和 future ,请尝试重组您的 sql 以使其更清晰,例如:
select * from (
(select * from table_a) tbla
left join
(select * from table_b) tblb
on tbla.commoncolname=tblb.commoncolname
)
首先在数据库工具(例如 SQL Workbench)上尝试此操作,然后转到 php 检索的内容,依此类推到 html
关于PHP Mysql连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33590115/