px_get_schema

(PECL paradox >= 1.0.0)

px_get_schemaRetourne le schéma de la base de données

Description

px_get_schema ( resource $pxdoc [, int $mode = 0 ] ) : array

px_get_schema() retourne le schéma de la base de données.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données Paradox comme retourné par la fonction px_new().

mode

Si le paramètre optionnel mode vaut PX_KEYTOLOWER ou PX_KEYTOUPPER, les clés du tableau retourné seront converties en minuscule ou en majuscule. Si mode n'est pas fourni ou s'il vaut 0, alors le nom de la clé sera identique au nom du champ.

Valeurs de retour

Retourne le schéma du fichier de base de données en tant que tableau associatif. Le nom de la clé sera le nom du champ. Chaque élément du tableau est lui-même un tableau associatif contenant deux champs : type et size. type est une des constantes listées dans la table "Les constants pour les types de champs". size est le nombre d'octets que ce champ représente dans l'enregistrement. Le total de toutes les tailles des champs est égal à la taille de l'enregistrement tel qu'elle peut être récupérée avec la fonction px-get-info().

add a note add a note

User Contributed Notes 1 note

up
0
Mr Muddy
17 years ago
It's not especially pretty and there isn't any error trapping, so please don't use this on any sort of production data.  This will display the schema of a paradox data source.... 

<?
   
/*
    Paradox database schema display
    Tim Burt
    27/07/07
    */

    //we're expecting a filename in the post vars
   
if ($_POST['database_name'] != "") {
       
       
//Set up anything we are likely to need
       
$database_filename = "<path to your data file>".$_POST['database_name'];
       
        echo
"<p><b>Schema for ".$_POST['database_name']."</b></p>\n";
       
        if(!
$pxdoc = px_new()) {
      DIE(
"Problem !");
        }
       
$fp = fopen($database_filename, "r");
        if(!
px_open_fp($pxdoc, $fp)) {
         DIE(
"Couldn't open database file");
        }
        else {       
           
//output the database schema...
           
$stock_schema = px_get_schema($pxdoc);
           
            if (
is_array($stock_schema)) {
                foreach (
$stock_schema as $key=>$value) {
                    echo
"<br><b>".$key."</b> - Type ".$value['type'];
                    }
                }
            }
       
px_close($pxdoc);
       
px_delete($pxdoc);
       
fclose($fp);       
       
    }
    else {
       
//show the form to get the filename
       
echo "<form action=\"show_schema.php\" method=\"post\">\n";
        echo
"<p>Data Source Name (include extension) : <input type=\"text\" size=\"10\" name=\"database_name\"></p>\n";
        echo
"<p><input type=\"submit\" value=\"Show Schema !\">\n";
        echo
"</form>\n";
    }   

?>
To Top