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

PostgreSQL Discussion :

affichage d'un ensemble de mes tables


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 26
    Points : 10
    Points
    10
    Par défaut affichage d'un ensemble de mes tables
    bonjour ,j'ai un code qui ne contient plus de message d'erreur , dans ma requête il m'a permi de faire une jointure, c'est à dire d'accéder à l'information 'libelle' dans la table 'mo'. Mais la valeur de 'code-mo' reste la même. Donc si je veux afficher le libelle, c'est mo.libelle qu'il me faudra utiliser.Et pour cela j'ai besoin de vos aides pour afficher "localisation.libelle","nature.libelle","code.libelle","etat.libelle","date.debut" ,je vous envoie le code entier:


    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
    <head>
             <title> gestion de projet </title>
    		 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     
     
    </head>
    <body>
     
     
       <?php
            $conn =("host=localhost port=5432 dbname=gdt user=postgres password=gabero");
            $dbconn = pg_connect("$conn");
            // connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
            // nom d'utilisateur"postgres" et un mot de passe"gabero"
            // éxecution de la requète SQL
     
            $sql = pg_query('SELECT projet."id-projet",projet."nom-projet",projet."id-date",projet."id-nature",projet."code-localisation",projet."code-etat",projet."code-mo",projet."resultat-projet",projet."montant-projet",
              localisation."libelle",mo."libelle",nature."libelle",date."date-debut",etat."libelle"
            FROM projet 
      INNER JOIN date
      ON projet."id-date"= date."id-date"
     INNER  JOIN etat
      ON projet."code-etat" = etat."code-etat"  
    	INNER JOIN nature
            ON projet."id-nature" = nature."id-nature"
        INNER JOIN mo
            ON projet."code-mo" = mo."code-mo"      
        INNER JOIN localisation
            ON projet."code-localisation" = localisation."code-localisation" 
     
    	 WHERE   projet."id-nature" = 1
    		AND projet."id-date" = 1
    		AND  projet."code-etat"= 1
    		AND projet."code-localisation" = 1
    		AND projet."code-mo" = 1');
     
        		;	
    	//En-tete du tableau
    	echo "<table border='1' >
        <caption><strong> PROJET</strong></caption>
       <tr>
           <td>id-projet</td>
    	   <td>nom-projet</td>
    	   <td>code-mo</td>
    	   <td>resultat-projet</td>
    	   <td>montant-projet</td>
    	   <td>code-localisation</td>
    	   <td>id-nature</td>
    	   <td>id-date</td>
    	   <td>code-etat</td>
     
    	</tr>";
    		// utilisation de la boucle tant que
      while($infos = pg_fetch_array($sql)) {
      // affichage des resultats
      echo"<tr>";//ligne du tableau
      echo "<td>";echo $infos['id-projet'];echo "</td>";
      echo "<td>";echo $infos['nom-projet'];echo "</td>";
     echo "<td>";echo $infos['code-mo'];echo "</td>";
      echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
      echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
      echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
      echo "<td>";echo $infos['id-nature'] ;echo "</td>";
      echo "<td>";echo $infos['id-date'] ;echo "</td>";
      echo "<td>";echo $infos['code-etat'];echo "</td>";
     
      echo"</tr>"; //fermeture de la ligne
      } //fermeture du tant que
      echo "</table>";//fermeture du tableau 
     
      pg_close($dbconn);
    ?>
    </body>
    </html>

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    Utilise des alias pour retrouver tes informations.

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 26
    Points : 10
    Points
    10
    Par défaut affichage de mes tables
    bonjour,
    des alias ,excuse moi j ai pas compris ce tu veux dire par alias

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par loketo Voir le message
    bonjour,
    des alias ,excuse moi j ai pas compris ce tu veux dire par alias
    C'est quand tu donnes un autre nom à tes champs durant ta requête. Ca te permet de mieux t'y retrouver ensuite (car le fetch_array te rend un tableau avec les alias au lieu des champs originels)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Exemple

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT projet."id-projet" AS projet_id,
    projet."nom-projet" AS projet_nom,
    projet."id-date" AS date_id ....,

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 26
    Points : 10
    Points
    10
    Par défaut affichage d un sous ensemble de mes tables
    bonjour,merci pour vos contributions mais je continu toujours à avoir des messages d erreur qui sont les suivants:
    Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "-" LINE 2: localisation."libelle" as lo-libelle,mo."libelle" as mo-lib... ^ in C:\wamp\www\gdt\projets[1].php on line 38
    je vous envoie le code entier avec les nouvelles modifications .

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
    <head>
             <title> gestion de projet </title>
    		 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     
     
    </head>
    <body>
     
     
       <?php
            $conn =("host=localhost port=5432 dbname=gdt user=postgres password=gabero");
            $dbconn = pg_connect("$conn");
            // connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
            // nom d'utilisateur"postgres" et un mot de passe"gabero"
            // éxecution de la requète SQL
     
     $sql = pg_query('SELECT projet."id-projet",projet."nom-projet",projet."id-date",projet."id-nature",projet."code-localisation",projet."code-etat",projet."code-mo",projet."resultat-projet",projet."montant-projet",
     localisation."libelle" as lo-libelle,mo."libelle" as mo-libelle,nature."libelle" as na-libelle ,date."date-debut",etat."libelle" as eta-libelle
      FROM projet 
      INNER JOIN date
      ON projet."id-date"= date."id-date"
      INNER  JOIN etat
      ON projet."code-etat" = etat."code-etat"  
      INNER JOIN nature
      ON projet."id-nature" = nature."id-nature"
      INNER JOIN mo
      ON projet."code-mo" = mo."code-mo"      
      INNER JOIN localisation
      ON projet."code-localisation" = localisation."code-localisation" 
     
     WHERE   projet."id-nature" = 1
    		AND projet."id-date" = 1
    		AND  projet."code-etat"= 1
    		AND projet."code-localisation" = 1
    		AND projet."code-mo" = 1');
     
    	//En-tete du tableau
    	echo "<table border='1' >
        <caption><strong> PROJET</strong></caption>
       <tr>
           <td>id-projet</td>
    	   <td>nom-projet</td>
    	   <td>code-mo</td>
    	   <td>resultat-projet</td>
    	   <td>montant-projet</td>
    	   <td>code-localisation</td>
    	   <td>id-nature</td>
    	   <td>id-date</td>
    	   <td>code-etat</td>
    	   <td>lo-libelle</td>
    	   <td>mo-libelle</td>
    	   <td>na-libelle</td>
    	   <td>eta-libelle</td>
    	   <td>date-debut</td>
    	</tr>";
    		// utilisation de la boucle tant que
      while($infos = pg_fetch_array($sql)) {
      // affichage des resultats
      echo"<tr>";//ligne du tableau
      echo "<td>";echo $infos['id-projet'];echo "</td>";
      echo "<td>";echo $infos['nom-projet'];echo "</td>";
      echo "<td>";echo $infos['code-mo'];echo "</td>";
      echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
      echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
      echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
      echo "<td>";echo $infos['id-nature'] ;echo "</td>";
      echo "<td>";echo $infos['id-date'] ;echo "</td>";
      echo "<td>";echo $infos['code-etat'];echo "</td>";
      echo "<td>";echo $infos['lo-libelle'];echo "</td>";
      echo "<td>";echo $infos['mo-libelle'];echo "</td>";
      echo "<td>";echo $infos['na-libelle'];echo "</td>";
      echo "<td>";echo $infos['eta-libelle'];echo "</td>";
      echo "<td>";echo $infos['date-debut'];echo "</td>";
      echo"</tr>"; //fermeture de la ligne
      } //fermeture du tant que
      echo "</table>";//fermeture du tableau 
     
      pg_close($dbconn);
    ?>
    </body>
    </html>
     
     
    merci de m avoir aider

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    enlève les doubles quotes de ton code SELECT !

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    enlève les doubles quotes de ton code SELECT !
    Non c'est le contraire, il faut ajouter des guillemets autour des alias puisqu'ils contiennent des tirets. Il se trouve que ce choix de mettre des tirets dans les identifiants n'est pas judicieux, d'ailleurs l'auteur de la requête a bien du mal avec, mais à moins de revenir en arrière là-dessus, pour pouvoir faire accepter la requête par l'analyseur syntaxique de postgres, la règle est simple: chaque identifiant du style id-quelquechose ou nom-quelquechose, doit être encadré par des guillemets.

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 26
    Points : 10
    Points
    10
    Par défaut affichage d un sous ensemble de mes tables
    bonjour ,merci à vous tous j'ai resolu le problème il fallait ajouter des quotes a partie select
    exemple:localisation."libelle" as "lo-libelle"
    au lieu de localisation."libelle" as lo-libelle.
    Ce que je veux maintenant c'est inserer un compteur dans la partie WHERE de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    WHERE   projet."id-nature" = 1
    		AND projet."id-date" = 1
    		AND  projet."code-etat"= 1
    		AND projet."code-localisation" = 1
    		AND projet."code-mo" = 1'


    pour qu'elle puisse incrementer automatiquement les diffrents identifiants(id-date,code-etat,code-localisation,code-mo,id-nature)

    pour cela voici le code entier

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
    <head>
             <title> gestion de projet </title>
    		 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     
     
    </head>
    <body>
     
     
       <?php
            $conn =("host=localhost port=5432 dbname=gdt user=postgres password=gabero");
            $dbconn = pg_connect("$conn");
            // connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
            // nom d'utilisateur"postgres" et un mot de passe"gabero"
            // éxecution de la requète SQL
     
     $sql = pg_query('SELECT projet."id-projet",projet."nom-projet",projet."id-date",projet."id-nature",projet."code-localisation",projet."code-etat",projet."code-mo",projet."resultat-projet",projet."montant-projet",
     localisation."libelle" as "lo-libelle",mo."libelle" as "mo-libelle",nature."libelle" as "na-libelle" ,date."date-debut",etat."libelle" as "eta-libelle"
      FROM projet 
      INNER JOIN date
      ON projet."id-date"= date."id-date"
      INNER  JOIN etat
      ON projet."code-etat" = etat."code-etat"  
      INNER JOIN nature
      ON projet."id-nature" = nature."id-nature"
      INNER JOIN mo
      ON projet."code-mo" = mo."code-mo"      
      INNER JOIN localisation
      ON projet."code-localisation" = localisation."code-localisation" 
     
     WHERE   projet."id-nature" = 1
    		AND projet."id-date" = 1
    		AND  projet."code-etat"= 1
    		AND projet."code-localisation" = 1
    		AND projet."code-mo" = 1');
     
    	//En-tete du tableau
    	echo "<table border='1' >
        <caption><strong> PROJET</strong></caption>
       <tr>
           <td>id-projet</td>
    	   <td>nom-projet</td>
    	   <td>code-mo</td>
    	   <td>resultat-projet</td>
    	   <td>montant-projet</td>
    	   <td>code-localisation</td>
    	   <td>id-nature</td>
    	   <td>id-date</td>
    	   <td>code-etat</td>
    	   <td>lo-libelle</td>
    	   <td>mo-libelle</td>
    	   <td>na-libelle</td>
    	   <td>eta-libelle</td>
    	   <td>date-debut</td>
    	</tr>";
    		// utilisation de la boucle tant que
      while($infos = pg_fetch_array($sql)) {
      // affichage des resultats
      echo"<tr>";//ligne du tableau
      echo "<td>";echo $infos['id-projet'];echo "</td>";
      echo "<td>";echo $infos['nom-projet'];echo "</td>";
      echo "<td>";echo $infos['code-mo'];echo "</td>";
      echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
      echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
      echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
      echo "<td>";echo $infos['id-nature'] ;echo "</td>";
      echo "<td>";echo $infos['id-date'] ;echo "</td>";
      echo "<td>";echo $infos['code-etat'];echo "</td>";
      echo "<td>";echo $infos['lo-libelle'];echo "</td>";
      echo "<td>";echo $infos['mo-libelle'];echo "</td>";
      echo "<td>";echo $infos['na-libelle'];echo "</td>";
      echo "<td>";echo $infos['eta-libelle'];echo "</td>";
      echo "<td>";echo $infos['date-debut'];echo "</td>";
      echo"</tr>"; //fermeture de la ligne
      } //fermeture du tant que
      echo "</table>";//fermeture du tableau 
     
      pg_close($dbconn);
    ?>
    </body>
    </html>

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/05/2013, 15h13
  2. affichage d'un sous-ensemble de mes tables
    Par loketo dans le forum PostgreSQL
    Réponses: 14
    Dernier message: 24/08/2009, 18h09
  3. Réponses: 15
    Dernier message: 30/06/2005, 16h35
  4. comment vider mes tables a la fin
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 9
    Dernier message: 14/05/2005, 11h33
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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