多くのアプリケーションでは、必要な情報を取得するために複数のデータベース テーブルからデータを取得する必要があります。この場合、2 つのテーブル間の結合クエリは、必要なデータをクエリするための非常に強力なツールとして使用できます。この記事では、PHP コードを使用して 2 つのテーブルの関連クエリ表示を実装する方法を紹介します。
まず、関連するデータベース テーブルのペアを作成する必要があります。単純な電子商取引 Web サイトのシナリオをシミュレーションします。最初のテーブルは products
テーブルで、販売可能なすべての製品が含まれています。 2 番目のテーブルは orders
テーブルで、既存の注文の詳細が含まれています。 2 つのテーブル間の関連付けは、products.id
フィールドと orders.product_id
フィールド間の関連付けです。
products
テーブルに、次のフィールドを追加する必要があります。
CREATE TABLE products ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, price DECIMAL(10, 2) NOT NULL );
orders
テーブルに、次のフィールドを追加する必要があります。 :
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) );
これで、データベースに 2 つの関連テーブルがあります。次に、PHP コードを使用してこのデータをクエリし、Web ページに表示するプロセスです。
まず、データベースに接続する必要があります。次のコードを使用してデータベースに接続します。
// 使用 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); }
データベースへの接続に成功したので、ここからが重要な部分です。2 つのテーブルをクエリし、それらを結合して表示します。次のコードを使用して 2 つのテーブルをクエリし、それらを一緒に表示します。
$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 "没有数据!"; }
上記のコードでは、SELECT
ステートメントと INNER JOIN
を使用して 2 つのテーブルを結合しました。 。このクエリを使用すると、products
テーブルと orders
テーブルからデータを取得し、それらの間の関連付けに基づいてそれらを結合できます。 mysqli_fetch_assoc()
関数を使用して、データベースから取得したデータを反復処理し、結果を Web ページに出力します。
これで、PHP コードを使用して 2 つのテーブル間の相関クエリを実装し、結果を Web ページに表示することができました。
以上がPHP コードを使用して 2 つのテーブルの関連クエリ表示を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。