Php 从同一查询中的两个不同表中获取数据

Php 从同一查询中的两个不同表中获取数据,php,sql,left-join,Php,Sql,Left Join,我开始学习php了。我可以从[此表中][1]中的SQL查询中提取CD列表,但还有一个查询包含通过此表中的ID链接的类别 如何使用一个查询获取同一结果集中的所有列 <?php include 'database_conn.php'; $sql = "SELECT id, title, year, price FROM table_cd"; $queryresult = mysqli_query($conn, $sql) or die (mysql

我开始学习php了。我可以从[此表中][1]中的SQL查询中提取CD列表,但还有一个查询包含通过此表中的ID链接的类别

如何使用一个查询获取同一结果集中的所有列

 <?php
    include 'database_conn.php';    

    $sql = "SELECT id, title, year, price FROM table_cd"; 
    $queryresult = mysqli_query($conn, $sql)
    or die (mysqli_error($conn));       


    while($row = mysqli_fetch_assoc($queryresult)) {
        $iid = $row['id'];
        $title = $row['title'];
        $year = $row['year'];
        $price = $row['price'];

        echo "<div> 
        <a href = \"editCDForm.php?itemCode=$iid\">$title</a> 
        </div>\n";
        echo $row['year'];
        echo $row['price'];
    }

?>

editCDForm.php:

<?php

$code = $_GET['itemCode']; 
$sql = "SELECT * FROM table_cd WHERE table_category.ID = $code
JOIN table_category ON (table_category.Desc = table_cd.ID)";

?>

您要查找的是一个名为a的表,它允许您将两个或多个表中的行合并到同一个结果集中

通过使用
nmc_cd
表的
联接
catID
列上的
nmc_类别
表作为它们之间的公共主属性,您可以修改查询,如下所示

$sql = "SELECT nmc_cd.CDID, nmc_cd.CDTitle, nmc_cd.CDYear,
               nmc_cd.CDPrice, nmc_category.catDesc
        FROM nmc_cd
        JOIN nmc_category on nmc_cd.catID = nmc_cd.catID";
这里有一篇很好的文章,可以帮助您实现SQL

联接的语法:

SELECT * FROM table1
JOIN table2 ON (table2.colunmname = table1.columnname)

当连接两个表时,使用可以从两个表中获取数据:

 $sql = "SELECT FT.CDID, FT.CDTitle, FT.CDYear, FT.CDPrice,
 ST.catDesc FROM nmc_cd AS FT  LEFT JOIN nmc_category as ST ON     
 FT.catID=ST.catID";

显示两个表的结构。那么您同时学习PHP和SQL了?也许一个接一个地学习是个好主意。@Niranjan,它在链接CD列表和CD类别中。@Thorsten。。遗憾的是,对于我的业余课程来说,这是一个匆忙的过程,因为我们必须一起学习很多东西…非常感谢你。。。这篇文章很有用,因为我尝试了不同类型的join抱歉,我试图按CDTitle对sql结果进行排序,并试图将“ORDER by nmc_cd.CDTitle”放在sql命令中。不知怎的,它不起作用了……order by应该是最后一个子句,我的意思是在加入后添加order by。谢谢,我确实试过把它放在最后,但不知怎的,结果显示了很多重复的结果..使用
GROUP by nmc_cd.CDID
。首先分组,然后按订单。