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
customer_id | customer_name | customer_address | customer_phone |
---|---|---|---|
1 | Alice | New York | 123-456 - 7890 |
2 | Bob | Los Angeles | 234-567-8901❤️ 9-0123 |
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 : | // 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>"; Copier après la connexion | 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. |
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!