Paradox File Access

Коментарии

<?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(); 
}
?>
2008-09-04 15:22:09
http://php5.kiev.ua/manual/ru/book.paradox.html
Автор:
A bit updated version of wilson's class

<?php

class Paradox {
    var 
$doc NULL;
    var 
$file NULL;
    var 
$row NULL;
    var 
$field_default_value "";
    var 
$field_slashes false;
    var 
$field_trim false;

    function 
Open($filename) {
       
$this->doc px_new();
        if (!
$this->doc) {
            die(
"Paradox Error: px_new() failed.");
        }
       
$this->file fopen($filename"r");
        if (!
$this->file) {
           
px_delete($this->doc);
            die(
"Paradox Error: fopen failed. Filename:$filename");
        }
        if (!
px_open_fp($this->doc$this->file)) {
           
px_delete($this->doc);
           
fclose($this->file);
            die(
"Paradox Erro: px_open_fp failed.");
        }
        return 
true;
    }

    function 
Close() {
        if (
$this->doc) {
           
px_close($this->doc);
           
px_delete($this->doc);
        }
        if (
$this->file) {
           
fclose($this->file);
        }
    }

    function 
GetNumRows() {
        return 
px_numrecords($this->doc);
    }

    function 
GetRow($id) {
        try {
           
$this->row px_get_record($this->doc$id);
            throw new 
Exception('no record');
        } catch (
Exception $e) {
            return 
"Exception: " $e->getMessage() . "\n";
        }
        return 
$this->row;
    }

    function 
GetRows($num 0) {
        if (
function_exists(px_retrieve_record)) {
            return 
px_retrieve_record($this->doc$num);
        } else {
            return 
"Unsupported function (px_retrieve_record) in paradox ext.";
        }
    }

    function 
GetSchema() {
        return 
px_get_schema($this->doc);
    }

    function 
GetInfo() {
        return 
px_get_info($this->doc);
    }

    function 
GetStringfromDate($date$format "d.m.Y") {
        return 
px_date2string($this->doc$date$format);
    }

    function 
GetStringfromTimestamp($date$format "d.m.Y H:i:s") {
        return 
px_timestamp2string($this->doc$date$format);
    }

    function 
GetField($field$trim 0$slash 0) {
        if (!
$this->row) {
            return 
false;
        }
       
$value = isset($this->row[$field]) ? $this->row[$field] : $this->field_default_value;
        if (
$this->field_slashes or $slash) {
           
$value addslashes($value);
        }
        if (
$this->field_trim or $trim) {
           
$value trim($value);
        }
        return 
$value;
    }

    function 
GetFieldInfo($id 0) {
        return 
px_get_field($this->doc$id);
    }
}
?>
2015-12-12 19:27:17
http://php5.kiev.ua/manual/ru/book.paradox.html

    Поддержать сайт на родительском проекте КГБ