PHP は、Web 開発で広く使用されているプログラミング言語です。 Web アプリケーションを開発する場合、通常はデータベースに接続してデータを取得および保存する必要があり、複数のテーブルからデータをクエリすることは非常に一般的な要件です。この記事では、PHP を使用して 2 つのテーブルをクエリし、それらをマージする方法について説明します。
まず、2 つのテーブルを作成し、それらのテーブルにデータを挿入する必要があります。 1 つのテーブルに「orders」という名前が付けられ、もう 1 つのテーブルに「customers」という名前が付けられているとします。注文テーブルには、注文番号、注文日、注文顧客などを含む注文データが含まれます。顧客テーブルは、顧客名、顧客住所、顧客電話番号などを含む顧客データです。これら 2 つのテーブルをクエリする方法を示すために、次のテーブル構造を作成します。
orders table
order_id | order_date | customer_id |
---|---|---|
2021-01-01 | 1 | |
2021-01-02 | #2 | ##3 |
4 | 2021-01-04 | |
顧客テーブル |
customer_name
1 | アリス | ||
---|---|---|---|
2 | # #ボブ | ロサンゼルス | |
3 | チャーリー | シカゴ | |
4 | デビッド | ヒューストン | |
次に、PHP を使用してこれら 2 つのテーブルをクエリし、それらを 1 つのテーブルにマージして、データを操作できるようにします。サンプル コードは次のとおりです。 | // 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>"; ログイン後にコピー | 上記のコードでは、まずデータベースに接続し、次にorders テーブルとcustomers テーブルをクエリして、結果を $result 変数と $result2 変数に保存します。次に、while ループと array_merge 関数を使用して 2 つのテーブルをマージします。各ループでは、最初にordersテーブルから特定の行のcustomer_idを取得し、次にcustomersテーブルをクエリしてその顧客の詳細を取得します。最後に、2 つの配列をマージし、$merged_array 変数に追加します。最後に、foreach ループを使用して、結合されたテーブルを HTML テーブルに表示します。 概要: Web アプリケーション開発では、複数のテーブルからデータをクエリすることが一般的な要件です。 PHP を使用すると、2 つのテーブルを簡単にクエリして結合できます。上記のコード例は、データベースに接続し、各テーブルにクエリを実行し、それらをマージすることでこれを行う方法を示しています。 |
以上がPHP を使用して 2 つのテーブルをクエリし、それらをマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。