Home >Backend Development >PHP Problem >Use PHP code to implement related query display of two tables

Use PHP code to implement related query display of two tables

PHPz
PHPzOriginal
2023-03-29 10:12:34939browse

In many applications, data needs to be retrieved from multiple database tables to obtain the required information. In this case, a join query between two tables can be used as a very powerful tool to query the required data. In this article, we will introduce how to use PHP code to implement related query display of two tables.

First, we need to create a pair of associated database tables. We will simulate the scenario of a simple e-commerce website. The first table is the products table, which contains all products available for sale. The second table is the orders table, which contains details of existing orders. The association between the two tables is the association between the products.id field and the orders.product_id field.

In the products table, we need to add the following fields:

CREATE TABLE products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    price DECIMAL(10, 2) NOT NULL
);

In the orders table, we need to add the following fields :

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)
);

Now, we have two related tables in our database. Next is the process of using PHP code to query this data and display it on a web page.

First, we need to connect to the database. Use the following code to connect to your database:

// 使用 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);
}

Now that we have successfully connected to the database, here comes the critical part: querying the two tables and combining them to display them. Use the following code to query two tables and display them together:

$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 "没有数据!";
}

In the above code, we have used the SELECT statement and INNER JOIN to Combine two tables. Using this query, we can retrieve data from the products table and the orders table and join them together based on the association between them. We use the mysqli_fetch_assoc() function to iterate through the data retrieved from the database and output the results to the web page.

Now, we have successfully used PHP code to implement a correlation query between two tables and display the results on the web page.

The above is the detailed content of Use PHP code to implement related query display of two tables. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn