Maison  >  Article  >  développement back-end  >  Comment interroger deux tables et les fusionner en utilisant PHP

Comment interroger deux tables et les fusionner en utilisant PHP

PHPz
PHPzoriginal
2023-04-11 09:14:30668parcourir

PHP est un langage de programmation largement utilisé dans le développement Web. Lors du développement d'applications Web, vous devez généralement vous connecter à une base de données pour obtenir et stocker des données, et interroger les données de plusieurs tables est une exigence très courante. Cet article explique comment interroger deux tables et les fusionner à l'aide de PHP.

Tout d'abord, nous devons créer deux tableaux et insérer des données dans les tableaux. Supposons qu’une table soit nommée « commandes » et l’autre « clients ». Le tableau des commandes comprend les données de la commande, notamment le numéro de commande, la date de la commande, le client de la commande, etc. La table des clients contient des données client, notamment le nom du client, son adresse, son numéro de téléphone, etc. Pour montrer comment interroger ces deux tables, nous créons la structure de table suivante :

table des commandes

order_id order_date customer_id
1 2021-01-01 1
2 2021-01-02 2
3 2021-01-03 1
4 2021-01-04 3

clients table

Ensuite, ces deux tables seront interrogées à l'aide de PHP et fusionnées en une seule table afin que nous puissions opérer sur les données. Voici l'exemple de code : Dans le code ci-dessus, connectez-vous d'abord à la base de données, puis interrogez les tables de commandes et de clients et stockez les résultats dans les variables $result et $result2. Ensuite, nous fusionnons les deux tables à l'aide d'une boucle while et de la fonction array_merge. Dans chaque boucle, nous obtenons d'abord le customer_id d'une ligne spécifique de la table des commandes, puis nous interrogeons la table des clients pour obtenir les détails de ce client. Enfin, nous fusionnons les deux tableaux et les ajoutons à la variable $merged_array. Enfin, nous utilisons une boucle foreach pour afficher le tableau fusionné dans un tableau HTML. Résumé : Dans le développement d'applications Web, l'interrogation des données de plusieurs tables est une exigence courante. En utilisant PHP, nous pouvons facilement interroger deux tables et les fusionner. L'exemple de code ci-dessus montre comment procéder en se connectant à la base de données, en interrogeant chaque table et en les fusionnant.
customer_id customer_name customer_address customer_phone
1 Alice New York 123-456 - 7890
2 Bob Los Angeles 234-567-8901❤️ 9-0123
// 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>";

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!

Déclaration:
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