Dans de nombreuses applications, les données doivent être récupérées à partir de plusieurs tables de base de données pour obtenir les informations requises. Dans ce cas, une requête de jointure entre deux tables peut être utilisée comme un outil très puissant pour interroger les données requises. Dans cet article, nous présenterons comment utiliser le code PHP pour implémenter l'affichage de requêtes associées de deux tables.
Tout d’abord, nous devons créer une paire de tables de base de données associées. Nous allons simuler le scénario d’un simple site e-commerce. La première table est la table products
, qui contient tous les produits disponibles à la vente. La deuxième table est la table orders
, qui contient les détails des commandes existantes. L'association entre les deux tables est l'association entre le champ products.id
et le champ orders.product_id
. products
表,它包含所有可供销售的产品。第二张表是 orders
表,它包含已存在订单的详细信息。两张表之间的关联是 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) );
现在,在我们的数据库中有两张相关联的表。接下来是如何使用 PHP 代码来查询这些数据并将它们显示在网页上的过程。
首先,我们需要连接到数据库。使用以下代码连接到您的数据库:
// 使用 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); }
现在我们已经成功连接到数据库,接下来是关键部分:查询两张表并将它们结合在一起显示出来。使用以下代码来查询两张表并将它们结合在一起显示:
$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
来结合两张表。使用这个查询,我们可以从 products
表和 orders
表中检索数据,并根据它们之间的关联将它们结合在一起。我们使用 mysqli_fetch_assoc()
produits
, nous devons ajouter les champs suivants : rrreee
Dans la tablecommandes
, nous devons ajouter les champs suivants : 🎜rrreee🎜Maintenant, Il existe deux tables liées dans notre base de données. Vient ensuite le processus d'utilisation du code PHP pour interroger ces données et les afficher sur une page Web. 🎜🎜Tout d’abord, nous devons nous connecter à la base de données. Utilisez le code suivant pour vous connecter à votre base de données : 🎜rrreee🎜 Maintenant que nous avons réussi à nous connecter à la base de données, voici la partie critique : interroger les deux tables et les combiner pour les afficher. Utilisez le code suivant pour interroger deux tables et les combiner pour les afficher : 🎜rrreee🎜Dans le code ci-dessus, nous avons utilisé l'instruction SELECT
et INNER JOIN
pour combiner les deux tables Faites un tableau. À l'aide de cette requête, nous pouvons récupérer les données de la table products
et de la table orders
et les réunir en fonction de l'association entre elles. Nous utilisons la fonction mysqli_fetch_assoc()
pour parcourir les données récupérées de la base de données et afficher les résultats sur la page Web. 🎜🎜Maintenant, nous avons implémenté avec succès la requête de corrélation entre deux tables à l'aide du code PHP et affiché les résultats sur la page Web. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!