在許多應用程式中,需要從多個資料庫表中檢索資料以獲取所需的資訊。在這種情況下,兩張表的關聯查詢可以作為非常強大的工具來查詢所需的資料。在本文中,我們將介紹如何使用 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中文網其他相關文章!