Rumah > pembangunan bahagian belakang > masalah PHP > Gunakan kod PHP untuk melaksanakan paparan pertanyaan berkaitan dua jadual

Gunakan kod PHP untuk melaksanakan paparan pertanyaan berkaitan dua jadual

PHPz
Lepaskan: 2023-03-29 10:34:50
asal
939 orang telah melayarinya

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
);
Salin selepas log masuk

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)
);
Salin selepas log masuk

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);
}
Salin selepas log masuk

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 "没有数据!";
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan