Maison > développement back-end > Problème PHP > Utiliser le code PHP pour implémenter l'affichage des requêtes associées de deux tables

Utiliser le code PHP pour implémenter l'affichage des requêtes associées de deux tables

PHPz
Libérer: 2023-03-29 10:34:50
original
944 Les gens l'ont consulté

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
);
Copier après la connexion

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)
);
Copier après la connexion

现在,在我们的数据库中有两张相关联的表。接下来是如何使用 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);
}
Copier après la connexion

现在我们已经成功连接到数据库,接下来是关键部分:查询两张表并将它们结合在一起显示出来。使用以下代码来查询两张表并将它们结合在一起显示:

$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 "没有数据!";
}
Copier après la connexion

在上面的代码中,我们使用了 SELECT 语句和 INNER JOIN 来结合两张表。使用这个查询,我们可以从 products 表和 orders 表中检索数据,并根据它们之间的关联将它们结合在一起。我们使用 mysqli_fetch_assoc()

Dans la table produits, nous devons ajouter les champs suivants :

rrreee

Dans la table commandes, 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal