Postgresql, informations sur les tables ...

ViPHP
ViPHP | 3607 Messages

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:

Mammouth du PHP | 19672 Messages

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 | +----------------+
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 493 Messages

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 ...

Mammouth du PHP | 19672 Messages

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 3607 Messages

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?

Mammouth du PHP | 19672 Messages

03 mai 2006, 10:51

La doc de PostGreSQL peut-être ? :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 493 Messages

03 mai 2006, 11:16

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 mai 2006, 11:24

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

Eléphant du PHP | 493 Messages

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