ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して 2 つのテーブルをクエリし、それらをマージする方法

PHP を使用して 2 つのテーブルをクエリし、それらをマージする方法

PHPz
PHPzオリジナル
2023-04-11 09:14:30669ブラウズ

PHP は、Web 開発で広く使用されているプログラミング言語です。 Web アプリケーションを開発する場合、通常はデータベースに接続してデータを取得および保存する必要があり、複数のテーブルからデータをクエリすることは非常に一般的な要件です。この記事では、PHP を使用して 2 つのテーブルをクエリし、それらをマージする方法について説明します。

まず、2 つのテーブルを作成し、それらのテーブルにデータを挿入する必要があります。 1 つのテーブルに「orders」という名前が付けられ、もう 1 つのテーブルに「customers」という名前が付けられているとします。注文テーブルには、注文番号、注文日、注文顧客などを含む注文データが含まれます。顧客テーブルは、顧客名、顧客住所、顧客電話番号などを含む顧客データです。これら 2 つのテーブルをクエリする方法を示すために、次のテーブル構造を作成します。

orders table

12021-01-01122021-01-02##32021-01-03## 142021-01-043顧客テーブル #customer_id
order_id order_date customer_id
#2

customer_name

customer_addresscustomer_phone1アリスニューヨーク123-456-78902234-567-8901345-678-9012456-789-0123次に、PHP を使用してこれら 2 つのテーブルをクエリし、それらを 1 つのテーブルにマージして、データを操作できるようにします。サンプル コードは次のとおりです。 上記のコードでは、まずデータベースに接続し、次にorders テーブルとcustomers テーブルをクエリして、結果を $result 変数と $result2 変数に保存します。次に、while ループと array_merge 関数を使用して 2 つのテーブルをマージします。各ループでは、最初にordersテーブルから特定の行のcustomer_idを取得し、次にcustomersテーブルをクエリしてその顧客の詳細を取得します。最後に、2 つの配列をマージし、$merged_array 変数に追加します。最後に、foreach ループを使用して、結合されたテーブルを HTML テーブルに表示します。 概要: Web アプリケーション開発では、複数のテーブルからデータをクエリすることが一般的な要件です。 PHP を使用すると、2 つのテーブルを簡単にクエリして結合できます。上記のコード例は、データベースに接続し、各テーブルにクエリを実行し、それらをマージすることでこれを行う方法を示しています。
# #ボブ ロサンゼルス
3 チャーリー シカゴ
4 デビッド ヒューストン
// 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>";

以上がPHP を使用して 2 つのテーブルをクエリし、それらをマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。