Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

px_create_fp(3) [php man page]

PX_CREATE_FP(3) 														   PX_CREATE_FP(3)

px_create_fp - Create a new paradox database

SYNOPSIS
bool px_create_fp (resource $pxdoc, resource $file, array $fielddesc) DESCRIPTION
Create a new paradox database file. The actual file has to be opened before with fopen(3). Make sure the file is writable. Note Calling this functions issues a warning about an empty tablename which can be safely ignored. Just set the tablename afterwards with px_set_parameter(3). Note This function is highly experimental, due to insufficient documentation of the paradox file format. Database files created with this function can be opened by px_open_fp(3) and has been successfully opened by the Paradox software, but your milage may vary. PARAMETERS
o $pxdoc - Resource identifier of the paradox database as returned by px_new(3). o $file -File handle as returned by fopen(3). o $fielddesc - fielddesc is an array containing one element for each field specification. A field specification is an array itself with either two or three elements.The first element is always a string value used as the name of the field. It may not be larger than ten characters. The second element contains the field type which is one of the constants listed in the table Constants for field types. In the case of a character field or bcd field, you will have to provide a third element specifying the length respectively the precesion of the field. If your field specification contains blob fields, you will have to make sure to either make the field large enough for all field values to fit or specify a blob file with px_set_blob_file(3) for storing the blobs. If this is not done the field data is truncated. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 Creating a Paradox database with two fields <?php if(!$pxdoc = px_new()) { /* Error handling */ } $fp = fopen("test.db", "w+"); $fields = array(array("col1", "S"), array("col2", "I")); if(!px_create_fp($pxdoc, $fp, $fields)) { /* Error handling */ } px_set_parameter($pxdoc, "tablename", "testtable"); for($i=-50; $i<50; $i++) { $rec = array($i, -$i); px_put_record($pxdoc, $rec); } px_close($pxdoc); px_delete($pxdoc); fclose($fp); ?> SEE ALSO
px_new(3), px_put_record(3), fopen(3). PHP Documentation Group PX_CREATE_FP(3)

Check Out this Related Man Page

PX_INSERT_RECORD(3)					     Library Functions Manual					       PX_INSERT_RECORD(3)

NAME
PX_insert_record -- Inserts a new record in the Paradox file SYNOPSIS
#include <paradox.h> int PX_insert_record(pxdoc_t *pxdoc, pxval_t **dataptr) DESCRIPTION
Inserts a new record stored in the array dataptr into a Paradox file. The position of the record will be determined by the function itself, starting at the beginning of the file and searching towards the end for a free slot. A free slot can be the result of former calls of PX_delete_record(3) or not completely filled data blocks in the input file. If there is no free slot within the file, then a new record will be added at the end. Blobs will be automatically written if a blob file was set with PX_set_blob_file(3). The memory for dataptr and the field values can be freed after PX_insert_record has been called. Each single element in the array of pointers to pxval_t can be easily created with MAKE_PXVAL(pxdoc_t *pxdoc, pxval_t *val) and setting the actual value afterwards. A quite common way to build up the record is the following: dataptr = (pxval_t **) malloc(PX_get_num_fields(pxdoc)*sizeof(pxval_t *)); MAKE_PXVAL(pxdoc, dataptr[0]); dataptr[0]->type = pxfLong; dataptr[0]->value.lval = 45; dataptr[1]->type = pxfAlpha; dataptr[1]->value.str.val = "test"; dataptr[1]->value.str.len = 4; PX_insert_record(pxdoc, dataptr); free(dataptr[0]); free(dataptr[1]); free(dataptr); There is currently no need to set the type, though it is recommended. The field types pxfMemoBLOb and pxfFmtMemoBLOb are treated like strings. Fields of type pxfAutoInc are automatically incremented if its value is set to NULL. In such a case the value is taken from the header of the database. You should not have more than one field of type pxfAutoInc in your database, otherwise the automatic incrementation will not work. RETURN VALUE
Returns the record number on success or -1 on failure. The number of the first record is 0. SEE ALSO
PX_retrieve_record(3), PX_delete_record(3), PX_update_record(3) AUTHOR
This manual page was written by Uwe Steinmann uwe@steinmann.cx. PX_INSERT_RECORD(3)
Man Page