px_get_schema

(PECL paradox >= 1.0.0)

px_get_schemaВозвращает схему базы данных

Описание

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

px_get_schema() возвращает схему базы данных.

Список параметров

pxdoc

Идентификатор ресурса базы данных paradox, возвращаемый функцией px_new().

mode

Если необязательный параметр mode равен PX_KEYTOLOWER или PX_KEYTOUPPER, ключи возвращаемого массива будут преобразованы в нижний или верхний регистр, соответственно. Если параметр mode равен 0 или не передан вовсе, то имя ключа будет совпадать с названием поля.

Возвращаемые значения

Возвращает схему файла базы данных в виде ассоциативного массива. Имя ключа равно имени поля. Каждый элемент массива сам по себе является ассоциативным массивом, содержащим два поля type и size. Поле type - это одна из констант в таблице Константы типов полей . Поле size - количество байт, которое это поле использует в записи. Общее число всех размеров поля равно размеру записи, поскольку его можно получить с помощью px-get-info().

add a note add a note

User Contributed Notes 1 note

up
0
Mr Muddy
12 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