[AYUDA] Re: impresion desde consola
Paynalton
cxescalona en gmail.com
Lun Nov 10 18:15:15 CST 2008
Bueno, ya consegí por fin obtener resultados de un DBF, aunque al
parecer estos scripts no tiene soporte para escritura en DBF.
Finalmente no hya que poner ninguna cadena como query pues simplemente
es ignorada.
Aparte, en el script anterior tenía yo un error en la forma de
construir el objeto, además de que la variable $dsn tiene su chiste.
He aquí el script que funciona:
function dbf_conexion($ruta,$modo=0)
{
require_once('PEAR.php');
require_once 'DB/dbase.php';
require_once 'DB.php';
$dsn = array(
'phptype' => 'dbase',
'database' => $ruta,
'mode' => $modo,
'fields' => array(
array('NOEDICION','N',4,0),
array('ANUNCIO','C',254),
array('TELEFONO1','C',13),
array('TELEFONO2','C',13),
array('DIRECCION','C',110),
array('PRECIO','N',11,2),
array('IDSECCION','C',4),
array('IDSEGLOBAL','C',4),
array('ORDEN','C',4),
array('SEGMENTO','C',1),
array('COMPROBADO','C',13),
array('ENTRADA','C',1),
array('CLAVEOPER','C',1),
array('REPETICION','N',2,0),
array('FECHA','D'),
array('HORA','C',8),
array('ESTADO','C',2),
array('AREA','C',1),
array('COD_POSTAL','C',5),
array('TIPO','C',1),
array('FECHALTA','D'),
array('SRAPRG','C',6),
array('PROGRAMADO','L'),
array('SITUACION','C',1),
array('IDUSUARIO','N,10',0),
array('SUPERFICIE','N',6,0),
array('IDANUNSM',N,'9',0),
array('BORRADO','L'),
),
);
$options = array(
'debug' => 2,
'portability' => DB_PORTABILITY_ALL,
);
$this->db = DB::connect($dsn, $options);
if (PEAR::isError($this->db))
{
die($this->db->getMessage());
}
$this->res=$this->db->query();
$this->numrows=$this->res->numRows();
// echo("ID".$this->base." / ruta:".$ruta."<br>");
}
Creo que al terminar con esto voy a escribir el Howto que a mi tanta
falta me ha hecho.
El día 7 de noviembre de 2008 18:59, Paynalton <cxescalona en gmail.com> escribió:
> Bien amigos, seguimos avanzando.
>
> El archivo dbase.so que obtuve no me sirvi'o pues no correspond'ia con
> la versi'on de PHP, pero siguiendo otro consejo la soluci'on fue
> descargar las fuentes desde php.net, compilar y copiar el archivo al
> lugar apropiado.
>
> El script corre bien, aunque tengo una duda a la que no puedo
> encontrar respuesta. este es un troizo del script con el que estoy
> probando siguiendo los ejemplos>
>
> require_once('PEAR.php');
> require_once 'DB/dbase.php';
> require_once 'DB.php';
>
> $dsn = "dbase:////mnt/sm/RED/EDI4.DBF&mode=0";
> $conn = new DB_dbase();
> $conn->connect ($dsn);
> if (PEAR::isError($db)) {
> die($conn->getMessage());
> }
> $result=$conn->query();
> if (PEAR::isError($result)) {
> die($result->getMessage());
> }
> while ($result->fetchInto($row))
> {
> echo $row[0] . "15\n";
> }
>
> echo("dsfasd");
> $conn->disconnect();
>
> La cuesti'on es que segun el manual, en la funci'on ""$conn->query()""
> tengo que colocar una consulta al estilo Mysql. Sin embargo si hago
> una sonsulta del tipo "SELECT * FROM tabla", no arroja resultados,
> supongo que en primera porque no existen tablas.
>
> Alguien ha visto alg'un manual que explique como realizar estas
> consultas a archivos DBF??
>
> El día 7 de noviembre de 2008 16:45, GaRaGeD Style <garaged en gmail.com> escribió:
>>
>> Disculpen mi estupidez
>>
>> El archivo dbase.c incluye todavía unos archivo dbf_* que mantienen el
>> problema de licenciamiento, y bueno, ya le escribí al autor para saber
>> de buena fuente si tiene interés en relicenciar o no los archivo para
>> que sean incluidos en Debian.
>>
>> A ver que responde.
>>
>> Gunnar:
>>
>> Lo vi en ./ext/dbase/dbase.c, en los sources de php5, le dí una
>> revisada rápida, y como ví que implementaba todo, pensé que había sido
>> totalmente sustituido, pero resulta que si incluye el archivo "dbf.h"
>> que a su vez incluye los otros archivos con licencia desconocida.
>>
>> Saludos
>> Max
>> --
>> $ echo "scale=1000000; 4*a(1)" | bc -l
>>
>> >>
>>
>
>
>
> --
> Si un ave no rompe su huevo morira antes de nacer.
> Nosotros somos el ave y el mundo es nuestro huevo.
> POR LA REVOLUCION DEL MUNDO!!!!
> <img src="http://mx.geocities.com/cxescalona/paynalton.gif">
>
--
Si un ave no rompe su huevo morira antes de nacer.
Nosotros somos el ave y el mundo es nuestro huevo.
POR LA REVOLUCION DEL MUNDO!!!!
<img src="http://mx.geocities.com/cxescalona/paynalton.gif">
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "ayuda-linux"
de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a ayuda-linux en googlegroups.com
Para anular la suscripción a este grupo, envía un mensaje a
ayuda-linux-unsubscribe en googlegroups.com
Para obtener más opciones, visita este grupo en
http://groups.google.es/group/ayuda-linux?hl=es. o http://www.compunauta.com/ayuda/
-~----------~----~----~----~------~----~------~--~---
Más información sobre la lista de distribución Ayuda