Vous n'êtes pas identifié(e).

#1 19/07/2010 10:09:36

chris0938
Membre

fonction col_description(table_oid, column_number)

Bonjour,
j'ai voulu tester les commentaires sur une colonnes avec cette commande :COMMENT ON COLUMN matable.macolonne IS 'mon commentaire';. jusqu'ici tout va bien. après j'ai lu que pour récupérer le commentaire il faut utiliser la fonction col_description(table_oid, column_number) qui va permet de renvoyer le commentaire d'une colonne de table, spécifié par l'OID de la table et le numéro de la colonne. mais je n'arrive pas a la mettre en place en php.
merci d'avance.

Hors ligne

#2 19/07/2010 10:45:57

Marc Cousin
Membre

Re : fonction col_description(table_oid, column_number)

Qu'avez vous essayé ?

si c'est une fonction, il suffit de l'appeler de la sorte :

SELECT col_description(table_oid, column_number);

Par exemple SELECT col_description (19287,'macolonne');


Marc.

Hors ligne

#3 19/07/2010 10:56:47

chris0938
Membre

Re : fonction col_description(table_oid, column_number)

merci pour votre réponse. j'avais essayé cela comme une simple fonction. je ne pensais pas qu'il fallait utiliser select. donc j'ai essayé votre solution :
Select col_description('no','2'); le probleme c'est que toute mes tables ont cela : "Has OIDs: no" donc je peux pas dire clairement quelle table je veux.

Hors ligne

#4 19/07/2010 11:38:30

Marc Cousin
Membre

Re : fonction col_description(table_oid, column_number)

Rien à voir. L'oid de la table, c'est son identifiant dans la table pg_class.

Par exemple : select oid from pg_class where relname = 'ma_table';


Marc.

Hors ligne

#5 19/07/2010 11:44:52

chris0938
Membre

Re : fonction col_description(table_oid, column_number)

ah d'accord merci pour cette information. j'ai donc maintenant la table_oid. j'ai testé: select col_description('16397','2'); en ligne de commande mais quand je le fais sous php j'obtiens cela : Resource id #2

Hors ligne

#6 19/07/2010 13:19:11

ioguix
Administrateur

Re : fonction col_description(table_oid, column_number)

Bonjour,

Cette question ne porte plus sur PostgreSQL mais sur PHP désormais...

Il vous faut récupérer la valeur du champs en utilisant une des fonctions du type pg_fetch_result, pg_fetch_array, pg_fetch_row, etc

voir par exemple:

  * http://php.net/pg_fetch_result
  * http://php.net/pg_fetch_array
  * http://php.net/pg_fetch_row

et voilà un exemple:

  $res = pg_query("select col_description('16397','2')");
  $comment = pg_fetch_result($res, 0, 0);

Hors ligne

#7 19/07/2010 13:57:19

chris0938
Membre

Re : fonction col_description(table_oid, column_number)

Bonjour,

ioguix a écrit :

Cette question ne porte plus sur PostgreSQL mais sur PHP désormais

justement j'ai ouvert cette conversation dans la section php.


  $res = pg_query("select col_description('16397','2')");
  $comment = pg_fetch_result($res, 0, 0);

je viens de le tester et cela fonctionne.
merci pour votre aide.

Hors ligne

Pied de page des forums