php + dbf
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.
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
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
excelente aporte !!!
aku
Febrero 23, 2009 a 6:21 pm