Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2004, 12h08   #1
Invité régulier
 
Inscription : mars 2003
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 30
Points : 8
Points : 8
Par défaut la commande mysql_fetch_field pour postgre

bonjour,
je cherche la fonction équivalente mysql_fetch_field de Mysql pour PostgreSql. Cette fonction sert à obtenir des informations à propos des champs, dans certaines requêtes.
Elle retour un objet avec :
- name - nom de la colonne
- table - nom de la table de la colonne
- max_length - taille maximale de la colonne
- not_null - 1 si la colonne ne peut pas être NULL (attribut NOT NULL)
- primary_key - 1 si la colonne est une clé primaire (attribut PRIMARY KEY)
- unique_key - 1 si la colonne est une clé unique (attribut UNIQUE)
- multiple_key - 1 si la colonne est une clé non-unique
- numeric - 1 si la colonne est numérique
- blob - 1 si la colonne est BLOB
- type - le type de la colonne
- unsigned - 1 si la colonne est non signée
- zerofill - 1 si la colonne est complétée par des zéros.

Merci pour votre aide
dim_italia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2004, 15h13   #2
Nouveau Membre du Club
 
Inscription : mai 2004
Messages : 41
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2004
Messages : 41
Points : 25
Points : 25
il y'a une vue dans le information_schema qui s'appele columns et qui te donne toutes ces informations et plus.

tu lance un.

Select * from information_schema.columns where column_name='nomColonne'
[AND table_name='nomtbale'];

et tu l'as
hatake.kakashi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2004, 16h49   #3
Invité régulier
 
Inscription : mars 2003
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 30
Points : 8
Points : 8
merci pour ton aide, mais en faite j'ai résolu mon problème autrement.
Cette exemple devrait pouvoir expliquer concrètement comment j'y suis parvenu :

Sous Mysql
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
$numfields = mssql_num_fields ($this->query_id);
FOR ($i = 0; $i < $numfields; $i++)
{
       $object = mysql_fetch_field($this->query_id);
       $field = new FIELD();
       $field->INDEX = $i;
       $field->name = $object->name;
       $field->type = $object->type;
       $field->length = $object->max_length;
       $field->attributes = array();				  
       $fields[$i] = $field;
       $fields[$field->name] = $field;
}
Sous postgre :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
$numfields = pg_num_fields ($this->query_id) ;
$fields = Array () ;
FOR ($i = 0; $i < $numfields; $i++)
{						
       $field = new FIELD();
       $field->INDEX = $i;
       $field->name = pg_field_name($this->query_id,$i);
       $field->type = pg_field_type($this->query_id,$i);
       $field->length = pg_field_size($this->query_id,$i);
       $field->attributes = array();
       $fields[$i] = $field;
       $fields[strtolower($field->name)] = $field;
}
dim_italia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h47.


 
 
 
 
Partenaires

Hébergement Web