PHP Mysql连接问题

标签 php mysql select join

我正在使用两个左联接从 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_pages ae_template_pages

表:ae_template_pageTypes ae_template_pageTypes

表:ae_template_groups

ae_template_groups

HTML 输出(均显示 HTML 而不是分别使用 join) HTML Output

问题 我期望格式部分中有 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>
        <?
        }

使用上述语句并将 $tempGroupId 设置为 1 的 SQL 工作台输出 SQL workbench output

最佳答案

对于现在和 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/

相关文章:

Php oop 在数据库中插入日期/时间

php - 使用php更新一次sql表字段

php - 在php中使用if else语句插入数据库表

php - 如何使用 PHP 将当前日期时间放入 MySQL

select - 铯 : Trigger event when a point is selected

php - 将公里添加到 map 点

php - Mysql 使 --secure-file-priv 选项为 NULL

c++ - Qt5.2可以找到mysql驱动但是加载不出来

mysql - 如何在sql select语句中为每个id选择最大值?

mysql - 如何将 SET 与 SELECT DISTINCT 一起使用