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>";
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!