Postgresql, informations sur les tables ...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Postgresql, informations sur les tables ...

par Vaedan » 03 mai 2006, 11:31

Deja essaie ça :

Code : Tout sélectionner

SHOW COLUMNS FROM sometable
En bidouillant je viens de trouver une fonction interressante pour MySQL : mysql_list_fields(). Je viens d'en coder une d'en l'esprit, essaie là pour voir.
function pg_list_fields( $db_conn, $table_name )
{
    // Requête préliminaire
    $res = pg_query($db_conn, 'SELECT * FROM ' . $table_name . ' LIMIT 1' );

    // Nombre de champs
    $num = pg_num_fields($res);

    // Stockage
    $fields = array();

    for ( $i = 0; $i < $num; $i++ )
    {
        $fields[] = array
        (
            'Field' => pg_field_name( $res, $i ),
            'Type'  => pg_field_type( $res, $i ),
            'Null'  => pg_field_is_null( $res, $i )
        );
    }

    return $fields;
}
EDITs: MaJ du code

par ouckileou » 03 mai 2006, 11:24

Il doit surement exister un projet tel que PHPMyAdmin pour PgSQL, trouve et décortique !
http://www.pgadmin.org/

par Vaedan » 03 mai 2006, 11:16

Il doit surement exister un projet tel que PHPMyAdmin pour PgSQL, trouve et décortique !

par Cyrano » 03 mai 2006, 10:51

La doc de PostGreSQL peut-être ? :-k

par jojolapine » 03 mai 2006, 10:39

Ben apparement Vaedan a bien raison, je n'arrive pas à faire la requête avec postgres... :cry:
y me renvoi tjrs une erreur de syntaxe....
Si quelqun a une autre idée?

par Cyrano » 03 mai 2006, 09:23

Autant pour moi, j'avais omis ce détail. Mais c'est une syntaxe standard, à vérifier, ça devrait fonctionner aussi sous PostGreSQL... :-k

par Vaedan » 03 mai 2006, 09:18

Cyrano, sous PostgreSQL ce n'est pas pareil ! Sous MySQL il faut faire :

Code : Tout sélectionner

SHOW FULL FIELDS FROM table [FROM bdd]
Cette synthaxe n'est pas supporté pour PostgreSQL je crois ...

par Cyrano » 02 mai 2006, 23:24

SHOW() tout seul ne correspond à rien, il faut utiliser SHOW TABLES;
Tu obtiendras la liste des tables sous le champ tables_in_nomdetatable.

Ça donne par exemple:

Code : Tout sélectionner

mysql> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | animals | | auteur | | departements | | livre | | notations | | regions | | test | +----------------+

Postgresql, informations sur les tables ...

par jojolapine » 02 mai 2006, 19:05

Bonjour à tous, je voudrait trouver une commande sql qui me permettrait de lister les différents champs d'une table donnée...?
c'est pour faire une recherche sur une table et proposer de rechercher un terme dans les différents champs éxistants...
voila merci d'avance... :)
PS: j'ai déja essayer avec SHOW(), ça marche pas :cry: