<?php
/*
Implement class to use paradox functions
*/
class cParadox
{
//members
var $m_pxdoc = NULL;
var $m_fp = NULL;
var $m_rs = NULL;
var $m_default_field_value = "";
var $m_use_field_slashes = false;
var $m_use_field_trim = false;
function Open($filename)
{
$this->m_pxdoc = px_new();
if( !$this->m_pxdoc)
{
die ("cParadox Error: px_new() failed.");
}
$this->m_fp = fopen($filename, "r");
if(!$this->m_fp)
{
px_delete($this->m_pxdoc);
die ("cParadox Error: fopen failed.Filename:$filename");
}
if(!px_open_fp($this->m_pxdoc ,$this->m_fp) )
{
px_delete($this->m_pxdoc);
fclose( $this->m_fp );
die ("cParadox Erro: px_open_fp failed.");
}
return true;
}
function Close()
{
if ( $this->m_pxdoc )
{
px_close($this->m_pxdoc);
px_delete($this->m_pxdoc);
}
if( $this->m_fp )
{
fclose( $this->m_fp );
}
}
function GetNumRecords()
{
return px_numrecords($this->m_pxdoc);
}
function GetRecord($rec)
{
$this->m_rs = px_get_record($this->m_pxdoc ,$rec ,PX_KEYTOUPPER);
return $this->m_rs;
}
function GetField($field ,$type=0, $format=0)
{
if ( !$this->m_rs )
{
return false;
}
$value = isset($this->m_rs[$field])? $this->m_rs[$field] : "";
if ( $this->m_use_field_slashes )
{
$value = addslashes($value);
}
if ( $this->m_use_field_trim )
{
$value = trim($value);
}
return $value;
}
};
usage example:
error_reporting(E_ERROR);
require_once("cparadox.inc");
$pdx = new cParadox();
$pdx->m_default_field_value = "?";//" ";
if ( $pdx->Open("USERS.DB") )
{
$tot_rec = $pdx->GetNumRecords();
if ( $tot_rec )
{
echo "<table border=1>\n";
for($rec=0; $rec<$tot_rec; $rec++)
{
$pdx->GetRecord($rec);
echo "<tr>";
echo "<td>" . $rec;
echo "<td>" . $pdx->GetField(CODE);
echo "<td>" . $pdx->GetField(NAME);
}
}
$pdx->Close();
}
?>
Acceso a archivos Paradox
- Introducción
- Instalación/Configuración
- Constantes predefinidas
- Funciones de Paradox
- px_close — Cerrar una base de datos paradox
- px_create_fp — Crear una nueva base de datos paradox
- px_date2string — Convierte una fecha en una cadena.
- px_delete_record — Eliminar los registros de base de datos paradox
- px_delete — Eliminar los recursos de la base de datos paradox
- px_get_field — Devuelve la especificación de un solo campo
- px_get_info — Devuelve una gran cantidad de información sobre un archivo paradox
- px_get_parameter — Obtener un parámetro
- px_get_record — Devuelve registro de base de datos paradox
- px_get_schema — Devuelve la definición de la base de datos (schema)
- px_get_value — Obtener un valor
- px_insert_record — Inserta registro en base de datos paradox
- px_new — Crear un nuevo objeto paradox
- px_numfields — Devuelve el número de campos en una base de datos
- px_numrecords — Devuelve el número de registros en una base de datos
- px_open_fp — Abrir base de datos paradox
- px_put_record — Almacenar registro en la base de datos paradox
- px_retrieve_record — Devolver registro de base de datos paradox
- px_set_blob_file — Establecer el archivo desde donde los blobs se van a leer
- px_set_parameter — Establecer un parámetro
- px_set_tablename — Establecer el nombre de una tabla (obsoleto)
- px_set_targetencoding — Establecer la codificación de los campos de caracteres (obsoleto)
- px_set_value — Establecer un valor
- px_timestamp2string — Convertir la fecha y la hora en una cadena.
- px_update_record — Actualizar el registro en la base de datos paradox
wilson dot p dot pereira at itelefonica dot com dot br
04-Sep-2008 12:22
