首頁 >後端開發 >PHP問題 >使用 PHP 程式碼實作兩張表關聯查詢顯示

使用 PHP 程式碼實作兩張表關聯查詢顯示

PHPz
PHPz原創
2023-03-29 10:12:34939瀏覽

在許多應用程式中,需要從多個資料庫表中檢索資料以獲取所需的資訊。在這種情況下,兩張表的關聯查詢可以作為非常強大的工具來查詢所需的資料。在本文中,我們將介紹如何使用 PHP 程式碼實作兩張表關聯查詢顯示。

首先,我們需要建立一對相關聯的資料庫表。我們將模擬一個簡單的電子商務網站的場景。第一張表是 products 表,它包含所有可供銷售的產品。第二張表是 orders 表,它包含已存在訂單的詳細資訊。兩張表之間的關聯是 products.id 欄位和 orders.product_id 欄位之間的關聯。

products 表中,我們需要添加以下幾個字段:

CREATE TABLE products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    price DECIMAL(10, 2) NOT NULL
);

orders 表中,我們需要添加以下幾個字段:

CREATE TABLE orders (
    id INT PRIMARY KEY AUTO_INCREMENT,
    product_id INT NOT NULL,
    customer_name VARCHAR(255) NOT NULL,
    quantity INT NOT NULL,
    total_price DECIMAL(10, 2) NOT NULL,
    order_date DATE NOT NULL,

    FOREIGN KEY (product_id) REFERENCES products(id)
);

現在,在我們的資料庫中有兩張相關聯的表。接下來是如何使用 PHP 程式碼來查詢這些資料並將它們顯示在網頁上的過程。

首先,我們需要連接到資料庫。使用以下程式碼連接到您的資料庫:

// 使用 mysqli 连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

現在我們已經成功連接到資料庫,接下來是關鍵部分:查詢兩張表並將它們結合在一起顯示出來。使用以下程式碼來查詢兩張表並將它們結合在一起顯示:

$sql = "SELECT products.name, products.price, orders.customer_name, orders.quantity, orders.total_price, orders.order_date
        FROM products
        INNER JOIN orders
        ON products.id = orders.product_id";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "产品名称: " . $row["name"] . "<br>";
        echo "价格: " . $row["price"] . "<br>";
        echo "客户姓名: " . $row["customer_name"] . "<br>";
        echo "数量: " . $row["quantity"] . "<br>";
        echo "总价: " . $row["total_price"] . "<br>";
        echo "订单日期: " . $row["order_date"] . "<br><br>";
    }
} else {
    echo "没有数据!";
}

在上面的程式碼中,我們使用了SELECT 語句和INNER JOIN 來結合兩張表。使用這個查詢,我們可以從 products 表和 orders 表中檢索數據,並根據它們之間的關聯將它們結合在一起。我們使用 mysqli_fetch_assoc() 函數來遍歷從資料庫中檢索的數據,並將結果輸出到網頁上。

現在,我們已經成功地使用 PHP 程式碼實作了兩個資料表的關聯查詢,並將結果顯示在網頁上。

以上是使用 PHP 程式碼實作兩張表關聯查詢顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn