PHP est un langage de programmation côté serveur courant, souvent utilisé dans le développement Web. Pour interagir avec la base de données, l'extension MySQLi de PHP fournit des fonctions puissantes qui peuvent facilement interroger, ajouter, modifier et supprimer des données de base de données. Cet article explique comment interroger les informations de deux tables via PHP.
Dans une base de données MySQL, les données doivent parfois être récupérées à partir de deux tables ou plus. Par exemple, dans un système de gestion des commandes simple, vous devrez peut-être récupérer des informations de la table des commandes et de la table des clients pour afficher les détails de la commande et du client. À ce stade, vous devez joindre les deux tables pour la requête.
Supposons que nous ayons deux tables, une qui stocke les informations sur les clients et l'autre qui stocke les informations sur les commandes. La table client comprend les champs ID client, nom du client, adresse, ville et code postal. Le tableau des commandes comprend les champs ID de commande, ID client, date de commande et total. Notre objectif est de récupérer les informations sur les commandes et les clients à partir de ces deux tables.
Nous pouvons utiliser le mot-clé INNER JOIN pour joindre les deux tables, afin que les données des deux tables puissent être récupérées en même temps lors de la récupération des données. Le mot-clé INNER JOIN renvoie les lignes qui correspondent à la même valeur dans les deux tables. Cela peut être réalisé via le code suivant :
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
Cette instruction de requête renverra toutes les lignes avec le même identifiant client dans la table client et la table de commande. Le résultat. L'ensemble contient quatre champs identifiant client et nom du client, identifiant de commande et date de commande.
Le mot-clé LEFT JOIN renverra toutes les lignes du tableau de gauche (c'est-à-dire le premier tableau), ainsi que les lignes correspondantes du tableau de droite (c'est-à-dire le deuxième tableau), s'il n'y a pas de correspondance, il sera rempli avec NULL. Par exemple, si nous souhaitons également afficher les clients qui n'ont pas passé de commande, nous pouvons y parvenir grâce au code suivant :
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Cette instruction de requête renverra toutes les lignes de la table clients, ainsi que les lignes avec le même identifiant client. dans le tableau des commandes. Si un client n'a pas passé de commande, les résultats de la requête afficheront des valeurs NULL.
Le mot-clé RIGHT JOIN est l'opposé de LEFT JOIN. Il renverra toutes les lignes du tableau de droite, ainsi que les lignes correspondantes du tableau de gauche. Par exemple, si nous voulons afficher tous les clients qui ont passé des commandes, nous pouvons y parvenir grâce au code suivant :
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id;
Cette instruction de requête renverra toutes les lignes de la table des commandes, ainsi que les lignes avec le même identifiant client dans le tableau des clients. Si un client n'a pas passé de commande, les résultats de la requête afficheront des valeurs NULL.
Résumé
Pour interroger les informations de deux tables via PHP, vous pouvez utiliser les mots-clés INNER JOIN, LEFT JOIN et RIGHT JOIN pour joindre les deux tables. En joignant deux tables, nous pouvons facilement récupérer les données de plusieurs tables et les fusionner en un seul ensemble de résultats. Lors de l'écriture d'instructions de requête, une attention particulière doit être accordée aux conditions d'association entre les tables pour garantir que les résultats de la requête sont corrects.
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!