Différentier 2 colonnes identiques dans une base de donnée

Résolu/Fermé
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 - 6 mars 2022 à 19:10
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 - 6 mars 2022 à 21:58
Bonjour à tous,


J'ai fait une requête sur 2 tables qui fonctionne bien, malheureusement pour moi chaque table comporte une colonne 'designation'. Quand j'exploite la réponse par un echo $donnees2['designation']; c'est 2 fois la même information qui s'affiche. Existe t-il un moyen pour différencier les colonnes au moment de l'echo ?

J'ai regardé du côté des alias, mais ils n'affectent que la requête je suppose ? (d'ailleurs ma requête n'a aucun problème)
Il me reste aussi la possibilité de renommer les titres des colonnes en 'designation_prestation' et 'designation_batiment' mais avant je voulais savoir s'il n'y avait pas une solution plus simple pour m'éviter de passer en revue toutes mes pages de code faisant appel à ces 2 colonnes...

Merci d'avance pour vos lumières !
A voir également:

5 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
6 mars 2022 à 21:40
Comme indiqué dans ma première réponse, en utilisant des ALIAS tu n'auras pas de souci
SELECT P.designation
      ,P.prix
      , B.designation as DESIGNATION_BATIMENT
FROM prestations P 
INNER JOIN batiments B ON P.type=B.id_batiment


Tu pourras donc faire dans ton php
   <?php echo $donnees2['DESIGNATION_BATIMENT']; ?>

1
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
6 mars 2022 à 19:17
Bonjour,

Vu ce que tu décris, les alias dans tes requêtes me semblent la bonne solution ...
Mais comme on ne sait rien .. ni de tes requêtes .. ni du code PHP que tu essais de réaliser .. impossible de t'aider !

NB: Pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

0
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
Modifié le 6 mars 2022 à 21:07
Tu as raison Jordan45, si je veux me faire aider autant poster les lignes concernées par ma question, même si au départ j'avais considéré ma demande comme une question d'ordre général...

Voici donc ce qui me pose problème :
// Connexion à la base de données :
    require ("connexion.php");
    
    // Récupération de toutes les prestations :
    $requete2 = $bdd->query("
        SELECT prestations.designation,prestations.prix, batiments.designation FROM prestations INNER JOIN batiments ON prestations.type=batiments.id_batiment");



<tbody>
<?php
while ($donnees2 = $requete2->fetch()) { ?>
    <tr class="tr_clic" onclick="document.location='<?php echo 'prestation-modif2.php?id_prestation=' . $donnees2['id_prestation']; ?>'">
        <td class="td-prestations">
            <?php echo $donnees2['designation']; ?>
        </td>
        <td class="td-prix td-prestations td-droite">
            <?php echo $donnees2['prix']; ?>
        </td>
        <td class="td-prestations td-gauche">
            <?php echo $donnees2['designation']; ?>
        </td>
    </tr>
<?php }
$requete2->closeCursor();
?>
</tbody>



En fait, je ne sais pas comment appeler et afficher 'designation' de bâtiment
0
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
Modifié le 6 mars 2022 à 21:16
Je me demande si je n'aurais pas intérêt à faire une requête simple sur la table 'prestations'
(désignation, prix, et id_batiment) et une autre requête de la table bâtiments (id_batiment et designation) pour ensuite
passer par un array mais je ne sais pas comment stocker les résultats de cette deuxième requête dans un tableau de ce style :
[1] [village]
[2] [jardin]
...

Mais après comment lier les 2 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
Modifié le 6 mars 2022 à 21:58
Tu es GÉNIAL, c'est exactement ce qu'il me fallait !
Mille mercis pour ton aide !
0