Rechercher dans quelle table se trouve une valeur donnée
P粉727416639
P粉727416639 2023-08-10 14:56:55
0
1
435
<p>J'ai besoin d'aide. </p> <p>Dans ma base de données, j'ai <strong>plusieurs tables</strong> contenant des détails sur les produits, chaque produit a un identifiant unique. </p> <p>Maintenant, j'ai un ID de produit donné - <strong>Comment puis-je obtenir le nom de la table dans laquelle ce produit est stocké</strong> puisque j'ai différentes tables dans ma base de données ? Comment puis-je stocker le nom de la table dans une variable PHP afin de pouvoir le réutiliser dans une autre instruction select ? </p> <p>J'ai cherché sur stackoverflow mais j'ai seulement trouvé des réponses sur l'obtention de tous les noms de table d'une base de données ou des noms de colonnes. Je recherche une solution simple dans l'instruction de sélection mysql/pdo. </p> <p>Ma famille est très occupée</p>
P粉727416639
P粉727416639

répondre à tous(1)
P粉539055526

Pour effectuer une recherche dans un ensemble fixe de tables, vous pouvez combiner des requêtes individuelles à l'aide de la clause UNION, puis ajouter une chaîne codée en dur pour identifier la source :

SELECT packaging_id AS product_id, 'packaging' AS table_name
FROM packaging
WHERE name = 'Cardboard box'
UNION ALL
SELECT stationery_id, 'stationery'
FROM stationery
WHERE description = 'Cardboard box'
UNION ALL
SELECT sales_id, 'sales'
FROM sales
WHERE offer = 'Cardboard box'

Vous devez vous assurer que chaque colonne de l'ensemble de résultats a le même type de données et vous pouvez utiliser la première instruction pour définir un nom de colonne normalisé pour l'ensemble de résultats.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal