Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


DB_common::tableInfo()

DB_common::tableInfo()

DB_common::tableInfo() -- Récupère les informations sur les colonnes d'une table ou d'un résultat de requête

Description

Récupère les informations sur les colonnes d'une table ou d'un résultat de requête.

Paramètres

mixed $result

Objet DB_result depuis une requête ou une chaîne contenant le nom d'une table

Si le nom de la table nécessite d'être délimité (i.e. : le nom est un mot réservé ou contient un espace), utilisez la méthode quoteIdentifier() sur le nom de la table lorsque vous le passez.

Ce paramètre peut aussi être un identifiant de ressource de résultats mais faire cela est devenu obsolète.

integer $mode

une des constantes de modes d'informations de table

Valeur retournée

array - un tableau associatif d'informations sur la table ou un objet DB_Error en cas d'échec

Le contenu du tableau dépend du paramètre $mode.

Les noms des tables et des colonnes doivent être en minuscule si le mode de portabilité DB_PORTABILITY_LOWERCASE est actif.

L'élément flags contient une liste séparée par un espace d'informations additionnelles sur la colonne. Si le DBMS est capable de reporter la valeur par défaut de la colonne, la valeur est passée via la fonction rawurlencode() pour éviter les problèmes causés par d'éventuel espace dans la valeur.

La plupart des DBMS fournit uniquement les éléments table et flags si $result est un nom de table. Uniquement fbsql et mysql fournissent la totalité des informations depuis les requêtes.

L'élément type contient le type retourné par le DBMS. Il varie suivant les DBMS.

Modes tableInfo

Cette section décrit le format du tableau retourné et comment il varie dépendamment du $mode utilisé lors de l'appel de la fonction.

Le résultat simple ci-dessous est basé sur cette requête :
SELECT tblFoo.fldID, tblFoo.fldPhone, tblBar.fldId
  FROM tblFoo
  JOIN tblBar ON tblFoo.fldId = tblBar.fldId;

NULL ou 0

[0] => Array (
  [table] => tblFoo
  [name] => fldId
  [type] => int
  [len] => 11
  [flags] => primary_key not_null
)
[1] => Array (
  [table] => tblFoo
  [name] => fldPhone
  [type] => string
  [len] => 20
  [flags] =>
)
[2] => Array (
  [table] => tblBar
  [name] => fldId
  [type] => int
  [len] => 11
  [flags] => primary_key not_null
)

DB_TABLEINFO_ORDER

En plus des informations trouvées dans la sortie par défaut, une note sur le nombre de colonnes est fourni par l'élément num_fields tandis que l'élément order fournit un tableau dont les noms des colonnes sont les clés et leurs numéros d'index (correspondant aux clés dans le résultat par défaut) sont les valeurs.

Si un jeu de résultats a des noms de champs identiques, le dernier sera utilisé.

[num_fields] => 3
[order] => Array (
  [fldId] => 2
  [fldTrans] => 1
)

DB_TABLEINFO_ORDERTABLE

Similaire à DB_TABLEINFO_ORDER mais ajoute plus de dimensions au tableau dont les noms des tables sont les clés et les noms des champs, les sous-clés. Ceci est utile pour les requêtes qui utilisent les jointures qui ont des noms de champs identiques.

[num_fields] => 3
[ordertable] => Array (
  [tblFoo] => Array (
      [fldId] => 0
      [fldPhone] => 1
  )
  [tblBar] => Array (
      [fldId] => 2
  )
)

DB_TABLEINFO_FULL

Contient les informations de DB_TABLEINFO_ORDER et de DB_TABLEINFO_ORDERTABLE.

Les constantes de modes tableInfo peuvent être cumulées en utilisant le signe pipe (|).

Note

Cette fonction ne peut pas être appelée de façon statique.

tableInfo() n'est pas portable car tous les drivers ne supportent pas cette méthode. La plupart des DBMS est incapable de déterminer les noms des tables depuis les résultats des requêtes et les données méta retournées par chaque système de base de données varient énormément.


Manuel PEAR pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx