Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Ernesto Mattos

PHPJasperXML

Recommended Posts

Pelo amor de Deus to quase quebrando o pc aqui.

 

Alguém já usou a biblioteca PHPJasperXML com o postgres?

 

O meu só da falha de conexão com o banco de dados. Jah usei o código desse link aqui.

http://www.rlmti.com/documentos/artigos/PHPJasperXML.inc

 

quando vou chamar a conexão com o banco e montar o jrxml uso esse código aqui:

<?php
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);

include_once('class/fpdf/fpdf.php');
include_once("class/PHPJasperXML.inc.php");
include_once ('setting.php');


$xml =  simplexml_load_file("relatorio.jrxml");

$PHPJasperXML = new PHPJasperXML();
//$PHPJasperXML->debugsql=true;
//$PHPJasperXML->arrayParameter=array("parameter1"=>1);
$PHPJasperXML->xml_dismantle($xml);

//$PHPJasperXML->transferDBtoArray($server,$user,$pass,$db); * use this line if you want to connect with mysql

//if you want to use universal odbc connection, please create a dsn connection in odbc first
$PHPJasperXML->transferDBtoArray("localhost","postgres","postgresql","embratel"); //odbc = connect to odbc
$PHPJasperXML->outpage("I");    //page output method I:standard output  D:Download file
?>

 

Alguém me dê uma luz? To preste a largar pra lah kkkkkkkkkkkkkkkkkkkkkkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajuda muito... rs

veja na classe onde esta essa mensagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites
perdão
public function transferDBtoArray($host,$user,$password,$db_or_dsn_name,$cndriver) {
        $this->m=0;

        if(!$this->connect($host,$user,$password,$db_or_dsn_name,$cndriver))	//connect database
        {
            echo "Fail to connect database";
            exit(0);
        }
        if($this->debugsql==true) {
            echo $this->sql;
            die;
        }

        if($cndriver=="odbc") {

            $result=odbc_exec( $this->myconn,$this->sql);
            while ($row = odbc_fetch_array($result)) {
                foreach($this->arrayfield as $out) {
                    $this->arraysqltable[$this->m]["$out"]=$row["$out"];
                }
                $this->m++;
            }
        }elseif($cndriver=="psql") {


            pg_send_query($this->myconn,$this->sql);
            $result = pg_get_result($this->myconn);
            while ($row = pg_fetch_array($result, NULL, PGSQL_ASSOC)) {
                foreach($this->arrayfield as $out) {
                    $this->arraysqltable[$this->m]["$out"]=$row["$out"];
                }
                $this->m++;
            }
        }
        else {
            $result = @mysql_query($this->sql); //query from db

            while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                foreach($this->arrayfield as $out) {
                    $this->arraysqltable[$this->m]["$out"]=$row["$out"];
                }
                $this->m++;
            }
        }

       	//close connection to db

    }

 

 

A função é essa ai.
Abaixo está o link do código onde está o connect.
Editei ele e deixei só a conexão com o postgre
QQR coisa me fale.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a extensão do pg_* esta habilitada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma pagina e coloque

 

 

phpinfo();

 

 

vc precisa passar o driver para a classe

 

$PHPJasperXML->transferDBtoArray("localhost","postgres","postgresql","embratel", "psql");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu isso aqui onde fala do postgre

 

PostgreSQL(libpq) Version 8.3.6 Multibyte character support enabled SSL support disabled Active Persistent Links 0 Active Links 0 Directive Local Value Master Value pgsql.allow_persistent On On pgsql.auto_reset_persistent Off Off pgsql.ignore_notice Off Off pgsql.log_notice Off Off pgsql.max_links Unlimited Unlimited pgsql.max_persistent Unlimited Unlimited

Compartilhar este post


Link para o post
Compartilhar em outros sites

passando o tipo do banco continou o mesmo erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui vc passa ele:

 

$PHPJasperXML->transferDBtoArray("localhost","postgres","postgresql","embratel", "psql");

 

 

se vc n passar o quinto paramentro o padrão da conexão é mysql
public function transferDBtoArray($host,$user,$password,$db_or_dsn_name,$cndriver="mysql")

Compartilhar este post


Link para o post
Compartilhar em outros sites

constatei um negócio, quando não passo o psql dá a falha de conexão. Agora quando passo o psql não dah a msg mas a pagina está em branco. Não sei se conectou e não está exebindo o relatório ou se tem algo mais. tem como testar se a conexão aconteceu.? se eu colocar um if ali dá certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

baixei a classe aqui vou testar ela no postgres.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse mesmo só que uso a versão 3.0 que é bem mais fácil de mexer.



Uma constatação, quan dou um ver dump na variável $PHPJasperXML no final mostra o resultado da query que usei para fazer o relatório. Ou seja só falta montar o pdf. abraços.

 

acho que é isso neh.



deu certo

tava usando a biblioteca fpdf ai usei outra e funcionou. Valeu mesmo ajudou pra caramba . valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu teste aqui ele n faz 'download' alterei o parametro de 'I' para 'D', mas n deu nada. se conseguir posta ai a solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.