簡體   English   中英

從同一查詢中的兩個不同表中獲取數據

[英]Get data from two different tables in the same query

我開始學習php。 我可以從 [in this table][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'];
    }

?>

編輯CDForm.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)";

?>

您要查找的內容稱為JOIN ,它允許您將兩個或多個表中的行合並到同一個結果集中。

您可以修改您的查詢,如下圖所示,通過在catID列上使用nmc_cd表和nmc_category表的LEFT JOIN作為它們之間的公共主要屬性,為您提供所需的結果集...

$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 中的 JOIN 是什么樣的

連接的語法:

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

use 可以在加入兩個表時從兩個表中獲取數據:

 $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";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM