¿hasta donde podre llegar?

hector2c, mi bitacora

php + dbf

con 7 comentarios

POST ACTUALIZADO: asasdf asd fasd fasd fadsf asdfasdasdfdf s

la idea que tenia sobre los dbf, era que estan trabajadas en fox, pues, luego de chocar con un pequeño trabajo que implica la “conexión” (conexion, no es la palabara adecuada, luego explicare el por que) hacia ellos.

los dbf a diferencia de otro modo de almacenamiento de datos, son ficheros de texto limpios (abre un dbf en un procesador de texto, y notaras el contenido.), son tablas, un solo dbf representara una tabla.

para trabajar con dbf, es necesario activar la libreria php_dbase, situada en el listada de extensiones de php.

activar extensiones para soportar ficheros dbf

para activar ingresamos al php.ini, y ubicamos la seccion dynamic extensions, buscamos php_dbase.dll

extension=php_dbase.dll

activar, quitando el signo de comentario “;”

extension=php_dbase.dll

conexion

su conexion en si no la es, pues trata de solo ubicar y leer un fichero de texto, para ellos hay que seleccionar el .dbf con los siguientes pasos:

$db = dbase_open('extras/bd/adcidia.dbf', 0);
if ($db) {
$numero_registros = dbase_numrecords($db);
for ($i = 1; $i <= $numero_registros; $i++) {
// procesar cada uno de los registros
$temp = dbase_get_record($db, $i);
echo $temp[0];
echo $temp[1];

echo $temp[2];
}
}

la primera linea selecciona el fichero dbf con la función dbase_open(‘directorio’, valor), donde valor tiene tres funciones 0: solo lectura, 1:solo escritura, 2: lectura y escritura, en mi caso tengo activada la opcion: solo lectura.

en la segunda linea, tengo la condición en caso no se ejecute la “conexión” adecuadamente.

en caso lo sean, con la funcion dbase_numrecords, puedo obtener el numero de registros contenidos en la bdf, esto es muy importante en caso se deseen recorrer los registros completos de la tabla dbf, ya que no existe otro metodo de recorrido completo.

for escoje el punto inicial de partida, en caso sean 470 registros, for dara 470 registros como si fuera un puntero.

dbase_get_record(‘conexion’, ‘registro’), obtiene los valores contenidos en los campos en un arreglo vectorial, para su impresión se necesitan leer el arreglo, $temp[0] viene a ser el primer campo, $temp[1] el segundo campo y asi seguidamente.

mas información

mas información sobre dbase, puedes ver en wikipedia en el siguiente enlace.
mas información sobre las funciones dbase en php puedes visitar este enlace.

Escrito por hector2c

agosto 21, 2008 a 1:30 pm

Escrito en php

7 comentarios

Suscríbete a los comentarios mediante RSS.

  1. Gracias Hector2c por tan gran aporte. Estoy iniciandome en PHP y esta información realmente me oriento, esta muy completa. Animo y adelante.

    Gioƒi

    octubre 5, 2008 a 8:42 am

  2. Gracias, tu información es resumida y directa, me fue muy util ya que en la empresa en la que laboro trabajan con puros .dbf y no encontraba persona alguna que sepa como conectarce a estas con PHP.

    José Sotelo

    enero 26, 2009 a 11:33 am

  3. excelente aporte !!!

    aku

    febrero 23, 2009 a 6:21 pm

  4. buen aporte, auqnue ya tiene algo de tiempo que lo subiste me sirvio gracis mi buen jejeje

    obed abdias

    julio 9, 2010 a 11:03 am

  5. Demasiado bueno y util muchas gracias ahora solo me falta el actualiazar pero con tu ayuda ya hize bastante ..gracias sigue publicando por favor

    Atakke

    agosto 16, 2010 a 10:48 am

  6. Esto es genial, se podría programar con esto algo para importar de dbf a mysql yo todavia uso tablas de dbase con clipper5 y en un programa de contabilidad de Contpaq aca en México.

    Gracias !!!!

    J. Ramirez

    septiembre 23, 2010 a 10:04 am

  7. Gracias me sirvio muchisimo :) , muy bien explicado.

    fredy

    marzo 10, 2012 a 12:33 pm


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.