Rumah >pembangunan bahagian belakang >masalah PHP >Gunakan kod PHP untuk melaksanakan paparan pertanyaan berkaitan dua jadual
Dalam banyak aplikasi, data perlu diambil daripada berbilang jadual pangkalan data untuk mendapatkan maklumat yang diperlukan. Dalam kes ini, pertanyaan gabungan antara dua jadual boleh digunakan sebagai alat yang sangat berkuasa untuk menanyakan data yang diperlukan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan kod PHP untuk melaksanakan paparan pertanyaan berkaitan dua jadual.
Pertama, kita perlu mencipta sepasang jadual pangkalan data yang berkaitan. Kami akan mensimulasikan senario laman web e-dagang yang mudah. Jadual pertama ialah jadual products
, yang mengandungi semua produk yang tersedia untuk dijual. Jadual kedua ialah jadual orders
, yang mengandungi butiran pesanan sedia ada. Perkaitan antara dua jadual ialah perkaitan antara medan products.id
dan medan orders.product_id
.
Dalam jadual products
, kita perlu menambah medan berikut:
CREATE TABLE products ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, price DECIMAL(10, 2) NOT NULL );
Dalam jadual orders
, kita perlu menambah medan berikut:
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) );
Kini, kami mempunyai dua jadual berkaitan dalam pangkalan data kami. Seterusnya ialah proses menggunakan kod PHP untuk menanyakan data ini dan memaparkannya pada halaman web.
Pertama, kita perlu menyambung ke pangkalan data. Gunakan kod berikut untuk menyambung ke pangkalan data anda:
// 使用 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); }
Sekarang kami telah berjaya menyambung ke pangkalan data, inilah bahagian kritikal: menanyakan dua jadual dan menggabungkannya untuk memaparkannya. Gunakan kod berikut untuk menanyakan dua jadual dan menggabungkannya untuk memaparkannya bersama:
$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 "没有数据!"; }
Dalam kod di atas, kami telah menggunakan pernyataan SELECT
dan INNER JOIN
untuk menggabungkan kedua-dua jadual. Menggunakan pertanyaan ini, kita boleh mendapatkan semula data daripada jadual products
dan jadual orders
dan menggabungkannya berdasarkan perkaitan antara keduanya. Kami menggunakan fungsi mysqli_fetch_assoc()
untuk mengulangi data yang diambil daripada pangkalan data dan mengeluarkan hasilnya ke halaman web.
Kini, kami telah berjaya menggunakan kod PHP untuk melaksanakan pertanyaan korelasi antara dua jadual dan memaparkan keputusan pada halaman web.
Atas ialah kandungan terperinci Gunakan kod PHP untuk melaksanakan paparan pertanyaan berkaitan dua jadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!