IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

SQL /Php - Effectuer un echo sur plusieurs table SQL UNION ALL - Nom de table différents


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2021
    Messages : 2
    Par défaut SQL /Php - Effectuer un echo sur plusieurs table SQL UNION ALL - Nom de table différents
    Bonjour à vous !

    Je developpe un site internet (php / sql / html /css / js), et j'ai un petit soucis dans mes requêtes SQL, je ne sais pas si ce que je désire faire est possible.

    Je dois afficher des données de plusieurs table ayant les même colonnes.

    Par exemple :
    J'ai les tableaux - iddevis et idfac

    Celles-ci comportent les colonne - id et idclient

    J'ai fait la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php $requete = $bdd->query('
    SELECT id AS id_devis,idclient AS id_client_devis 
        FROM iddevis
           UNION ALL
    SELECT id AS id_fac,idclient AS id_client_fac
        FROM idfac
    ');
    while($reponse = $requete->fetch()){
         if(isset($reponse['id_devis']){
                echo $reponse['id_devis']; //ça, ça marche
         }else if(isset($reponse['id_fac']){
                echo $reponse['id_fac'];  //là , ça ne marche plus
         }
    }
    ?>
    Le problème est quand j'affiche des données de la deuxième requête, il ne m'affiche rien. Et c'est normal car il créer des colonne aux noms de la 1ere requête, sinon j'imagine que j'aurais une erreur.
    Est-ce qu'il existe un moyen pour pallier à ce cas-ci ? C'est à dire appeler les données d'une certaine colonne uniquement, dans un UNION ALL ?

    J'ai rechercher sur https://sql.sh/ mais je n'ai rien trouvé qui puisse m'aider :/

    Merci pour votre aide

  2. #2
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Bonjour,

    une solution qui semble tenir la route :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php 
    $sql = "
    SELECT 
    	id,
    	idclient,
    	'DEVIS' AS tbl
    FROM iddevis
    UNION ALL
    SELECT
    	id,
    	idclient,
    	'FACTURE' AS tbl
        FROM idfac
    ";
    $requete = $bdd->query( $sql );
     
    while( $reponse = $requete->fetch() )
    {
    	if( $reponse['tbl'] == 'DEVIS' )
    	{
    		echo 'Devis : '.$reponse['id'].' - client : '.$reponse['idclient'].'<br />';
    	} else {
    		echo 'Facture : '.$reponse['id'].' - client : '.$reponse['idclient'].'<br />';
    	}
    }
    Sinon, avec 2 requêtes, c'est bien aussi
    (à moins d'avoir d'autres contraintes : affichage dans un seul tableau, par date,...)

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2021
    Messages : 2
    Par défaut
    ça à l'air de fonctionner, MERCI beaucoup !
    (et oui il y à d'autres contraintes, c'est pour ça que je n'utilise pas plusieurs requêtes)

Discussions similaires

  1. requêtes sql sur plusieurs tables
    Par zahiton dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2005, 10h59
  2. [SQL] requêtes SQL sur plusieurs tables
    Par zahiton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/11/2005, 16h32
  3. [SQL Access] SELECT sur plusieurs Tables et Composer Champs
    Par Giuseppe dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/11/2005, 14h00
  4. Réponses: 7
    Dernier message: 04/07/2005, 22h39
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo