繁体   English   中英

PHP –无法获得左联接表来回显

[英]PHP – Can't get left join tables to echo

嗨,我是PHP的新手,我试图加入2表并在HTML表中回显结果。

这两个表是“ client”和“ job”,我想使用存储在作业表中的客户端ID(列名称为“ client_id”)来回显客户端名称。 这是我的代码,不确定我在做什么错。 谢谢您的帮助。 我愿意采取更好的方法。

        $result = mysql_query("SELECT `id`, `job_name`, `client.id`, `job_day`, `s_t`, `e_t`, `status` FROM job LEFT JOIN client ON job.client_id = client.id");
        if (!$result) {
            die("Query to show fields from table failed");
        }

        $fields_num = mysql_num_fields($result);

        echo "<table class='table table-bordered table-striped mb-none' id='datatable-tabletools' data-swf-path='assets/vendor/jquery-datatables/extras/TableTools/swf/copy_csv_xls_pdf.swf' >";
        // printing table headers
        echo "<thead>";
        echo "<th>#</th>";
        echo "<th>Job Name</th>";
        echo "<th>Client Name</th>";
        echo "<th>Job Day</th>";
        echo "<th>Start Time</th>";
        echo "<th>End Time</th>";
        echo "<th>Status</th>";
        echo "</thead>";
        // printing table rows
        while($row = mysql_fetch_row($result))
        {
            echo "<tbody>";
            echo "<tr>";

            echo "<td><a href='job_view.php?job=" . $row['0'] . "'>See</a></td>";
            echo "<td>$row[1]</td>";
            echo "<td>$row[2]</td>";
            echo "<td>$row[3]</td>";
            echo "<td>$row[4]</td>";
            echo "<td>$row[5]</td>";
            echo "<td>$row[6]</td>";

            echo "</tr>";
            echo "</tbody>";

        }
        mysql_free_result($result);
        ?>
        </table>
    </div>
</section>

您需要在ON子句周围加上括号,并指定不明确的列(确保id也可以是其他列),并且需要对表和列名分别加上反引号(不是client.id而是clientid ):

SELECT `job`.`id`, `job_name`, `client`.`id`, `job_day`, `s_t`, `e_t`, `status` 
FROM job 
LEFT JOIN client ON (job.client_id = client.id)
SELECT `id`, `job_name`, `client`.`id`, `job_day`, `s_t`, `e_t`, `status` FROM job LEFT JOIN client ON job.client_id = client.id

而不是选择client id ,为什么不选择client name或任何列名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM