Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menanyakan dua jadual dan menggabungkannya menggunakan PHP

Bagaimana untuk menanyakan dua jadual dan menggabungkannya menggunakan PHP

PHPz
Lepaskan: 2023-04-11 10:15:42
asal
768 orang telah melayarinya

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web. Apabila membangunkan aplikasi web, anda biasanya perlu menyambung ke pangkalan data untuk mendapatkan dan menyimpan data, dan menanyakan data daripada berbilang jadual adalah keperluan yang sangat biasa. Artikel ini akan menerangkan cara membuat pertanyaan dua jadual dan menggabungkannya menggunakan PHP.

Pertama, kita perlu mencipta dua jadual dan memasukkan beberapa data ke dalam jadual. Katakan satu jadual dinamakan "pesanan" dan satu lagi dinamakan "pelanggan". Jadual pesanan termasuk data pesanan, termasuk nombor pesanan, tarikh pesanan, pelanggan pesanan, dsb. Jadual pelanggan ialah data pelanggan, termasuk nama pelanggan, alamat pelanggan, nombor telefon pelanggan, dsb. Untuk menunjukkan cara untuk menanyakan kedua-dua jadual ini, kami mencipta struktur jadual berikut:

jadual pesanan

order_id order_date customer_id
1 2021-01-01 1
2 2021-01-02 2
3 2021-01-03 1
4 2021-01-04 3

jadual pelanggan

customer_id customer_name customer_address customer_phone
1 Alice New York 123-456-7890
2 Bob Los Angeles 234-567-8901
3 Charlie Chicago 345-678-9012
4 David Houston 456-789-0123

Seterusnya, kami akan menggunakan PHP Tanya dua jadual ini dan gabungkannya ke dalam satu jadual supaya kami boleh mengendalikan data. Berikut ialah kod sampel:

// Connect to database
$host = "localhost";
$user = "username";
$password = "password";
$database = "database";
$connect = mysqli_connect($host, $user, $password, $database);

// Query orders table
$query = "SELECT * FROM orders";
$result = mysqli_query($connect, $query);

// Query customers table
$query = "SELECT * FROM customers";
$result2 = mysqli_query($connect, $query);

// Merge two tables
$merged_array = array();
while ($row = mysqli_fetch_assoc($result)) {
    $customer_id = $row['customer_id'];
    $customer_query = "SELECT * FROM customers WHERE customer_id = $customer_id";
    $customer_result = mysqli_query($connect, $customer_query);
    $customer_row = mysqli_fetch_assoc($customer_result);
    $merged_array[] = array_merge($row, $customer_row);
}

// Show merged table
echo "<table>";
echo "<tr><th>Order ID</th><th>Order Date</th><th>Customer Name</th><th>Customer Address</th><th>Customer Phone</th></tr>";
foreach ($merged_array as $row) {
    echo "<tr>";
    echo "<td>" . $row['order_id'] . "</td>";
    echo "<td>" . $row['order_date'] . "</td>";
    echo "<td>" . $row['customer_name'] . "</td>";
    echo "<td>" . $row['customer_address'] . "</td>";
    echo "<td>" . $row['customer_phone'] . "</td>";
    echo "</tr>";
}
echo "</table>";
Salin selepas log masuk

Dalam kod di atas, mula-mula sambung ke pangkalan data, kemudian tanya pesanan dan jadual pelanggan, dan simpan hasilnya ke dalam pembolehubah $result dan $result2. Seterusnya, kami menggabungkan kedua-dua jadual menggunakan gelung sementara dan fungsi array_merge. Dalam setiap gelung, kami mula-mula mendapatkan customer_id bagi baris tertentu daripada jadual pesanan dan kemudian menanyakan jadual pelanggan untuk mendapatkan butiran pelanggan tersebut. Akhir sekali, kami menggabungkan dua tatasusunan dan menambahnya pada pembolehubah $merged_array. Akhir sekali, kami menggunakan gelung foreach untuk memaparkan jadual yang digabungkan dalam jadual HTML.

Ringkasan: Dalam pembangunan aplikasi web, pertanyaan data daripada berbilang jadual adalah keperluan biasa. Dengan menggunakan PHP, kami boleh membuat pertanyaan dengan mudah dua jadual dan menggabungkannya. Contoh kod di atas menunjukkan cara melakukan ini dengan menyambung ke pangkalan data, menanyakan setiap jadual dan menggabungkannya.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan dua jadual dan menggabungkannya menggunakan PHP. 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