Gavaldão 14 Denunciar post Postado Julho 20, 2015 Bom Dia. criei um script com a classe fpdf. no meu localhost, funciona direitinho em uma pagina nova ou até em uma popup. Estou usando conexão mysql. Quando subo para o servidor externo recebo a mensagem que a conexão esta DEPRECATED , que devo usar Mysqli ou PDO. nuca usei Mysqli ou PDO, então estou tentando com Mysqli que achei mais fácil porem acontece o seguinte. fiz um pequeno script para teste. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 20, 2015 <?php include("php/funcoes.php"); include ("php/config.php"); $dinit = $_POST["dinicial"]; $din = trataData($dinit); $hin = "00:00:00"; $fday = ("$din $hin"); $dfinit = $_POST["dfinal"]; $fim = trataData($dfinit); $hfim = "23:59:00"; $tday = ("$fim $hfim"); //output results print '<h3>SELECT Multiple Records as Associative array</h3>'; //Open a new connection to the MySQL server //MySqli Select Query $results = $mysqli->query("SELECT coopmat, Subject from escalas WHERE StartTime BETWEEN '$fday' AND '$tday' GROUP by Subject"); print '<table border="1">'; while($row = $results->fetch_assoc()) { print '<tr>'; print '<td>'.$row["coopmat"].'</td>'; print '<td>'.$row["Subject"].'</td>'; print '</tr>'; } print '</table>'; // Frees the memory associated with a result $results->free(); // close connection $mysqli->close(); ?> Usei esse script para teste sem o PDF. no servidor localhost, imprime minhas três linhas existentes na tabela. Quando subo para o servidor, só imprime a primeira linha. Podem me dar algumas orientações d como fazer ou qual o problema. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 20, 2015 Interessante é que todo o sistema funciona com conexão mysql sem problemas, só a classe fpdf é que informa a DEPRECATED da conexão. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2015 Interessante é que todo o sistema funciona com conexão mysql sem problemas, só a classe fpdf é que informa a DEPRECATED da conexão. Provavelmente seu PHP está escondendo os warnings. O FPDF deve estar ativando novamente a exibição dos warnings. Por isso só aparece nesse trecho. Se você usar error_reporting em E_ALL, verá a mensagem no sistema todo Já rodou a query diretamente no banco do servidor? Retorna mais de um resultado? Você pode usar num_rows para exibir o total de registros retornados pelo SELECT. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 20, 2015 O script que postei não esta usando FPDF essa query usando conexão: mysqli só retorna um resultado. do servidor externo. em localhost retorna todos. sem usar FPDF se eu usar conexão: mysql. retorna normal os registros. COM A CLASSE FPDF E CONEXÃO MYSQL TENHO O ERRO Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/servicefenix/www/sigerserv/serv_ger/pdf_relatcoop.php on line 32 Warning: mysql_connect(): No such file or directory in /home/servicefenix/www/sigerserv/serv_ger/pdf_relatcoop.php on line 32 Could not connect: No such file or directory abaixo o script completo com FPDF. Só printa o primeiro registro. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 20, 2015 <?php ini_set('display_errors', 'on'); error_reporting(E_ALL | E_STRICT); define('FPDF_FONTPATH', 'font/'); require('fpdf/fpdf.php'); $pdf= new FPDF("l","mm","A4"); $pdf->Open(); $pdf->AddPage(); include "php/funcoes.php"; $acao = $_POST["acao"]; $sub = $_POST["prestador"]; $dinit = $_POST["dinicial"]; $din = trataData($dinit); $hin = "00:00:00"; $fday = ("$din $hin"); $dfinit = $_POST["dfinal"]; $fim = trataData($dfinit); $hfim = "23:59:00"; $tday = ("$fim $hfim"); include ("php/config.php"); $res = $mysqli->query("SELECT * from jqcalendar WHERE StartTime BETWEEN '$fday' AND '$tday' GROUP by Subject "); while($rowe = $res->fetch_array()) { $coop = $rowe["Subject"]; $mat = $rowe["coopmat"]; $pdf->SetFont('Arial','B',12); // Move to the right $pdf->Cell(80); // Title $pdf->Cell(100,10,"Relatorio Resumo de Coopeados por Periodo = De $dinit ate $dfinit",0,0,'C'); $pdf->Ln(10); $pdf->Cell(100,10,"Matricula: $mat - Cooperado: $coop",0,0,'L'); // Line break $pdf->Ln(10); $pdf->SetFont('Arial', 'B', 9); $pdf->Cell(32, 5, 'data in', 1, 0, 'C'); $pdf->Cell(32, 5, 'data fim', 1, 0, 'C'); $pdf->Cell(85, 5, 'Paciente', 1, 0, 'L'); $pdf->Cell(30, 5, 'Plan.Contr.', 1, 0, 'L'); $pdf->Cell(26, 5, 'Plan.Exect.', 1, 0, 'L'); $pdf->Cell(18, 5, 'Val.Contr.', 1, 0, 'L'); $pdf->Cell(18, 5, 'Val.Real', 1, 0, 'L'); $pdf->Cell(13, 5, 'Valtaxa', 1, 0, 'L'); $pdf->Cell(20, 5, 'Val.Plantao', 1, 0, 'L'); $results = $mysqli->query("SELECT * from escalas WHERE Subject= '$coop' AND StartTime BETWEEN '$fday' AND '$tday' order by startTime") ; while($row = $results->fetch_object()) { $pac = $row->cat; $tin = $row->StartTime; $Edfim = $row->EndTime; $paciente = $mysqli->query("SELECT pacnome FROM pacientes WHERE paccod = $pac")->fetch_object()->pacnome; $cor = $row->Color; $planexect = $mysqli->query("SELECT nomecor FROM classcores WHERE cor = $cor")->fetch_object()->nomecor; $Stin = phpData($row->StartTime); $Edfim = phpData($row->EndTime); $pdf->ln(); $pdf->Cell(32, 5, $Stin, 1, 0, 'L'); $pdf->Cell(32, 5, $Edfim, 1, 0, 'L'); $pdf->Cell(85, 5, $paciente, 1, 0, 'L'); $pdf->Cell(30, 5, $row->contrplan, 1, 0, 'L'); $pdf->Cell(26, 5, $planexect, 1, 0, 'L'); $pdf->Cell(18, 5, $row->valplan, 1, 0, 'R'); $pdf->Cell(18, 5, $row->valreal, 1, 0, 'R'); $pdf->Cell(13, 5, $row->valtaxa, 1, 0, 'R'); $pdf->Cell(20, 5, $row->valplan, 1, 0, 'R'); } $pdf->ln(); $total = $mysqli->query("SELECT SUM(valreal) as 'real', SUM(valtaxa) as 'taxa', SUM(valplan) as 'plan' FROM escalas WHERE Subject='$coop' AND StartTime BETWEEN '$fday' AND '$tday'"); $linha = $total->fetch_assoc(); $taxa = $linha["taxa"]; $real = $linha["real"]; $plan = $linha["plan"]; $pdf->SetFont('Arial', 'B', 10); $pdf->Cell(32, 5, '', 1, 0, 'C'); $pdf->Cell(32, 5, '', 1, 0, 'C'); $pdf->Cell(85, 5, 'TOTAL DO MES', 1, 0, 'C'); $pdf->Cell(30, 5, '', 1, 0, 'L'); $pdf->Cell(26, 5, '', 1, 0, 'L'); $pdf->Cell(18, 5, '', 1, 0, 'R'); $pdf->Cell(18, 5, $taxa, 1, 0, 'R'); $pdf->Cell(13, 5, $real, 1, 0, 'R'); $pdf->Cell(20, 5, $plan, 1, 0, 'R'); } $pdf->Output(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2015 O script que postei não esta usando FPDF essa query usando conexão: mysqli só retorna um resultado. do servidor externo. em localhost retorna todos. Por isso falei pra rodar a query direto no banco de dados do servidor remoto. Veja quantos a query mostra. Talvez só haja um registro lá. Por isso só retorna 1. Tanto mysql quanto mysqli se comunicam com o mesmo SGBD. Desde que você se conecte ao mesmo banco, ambos retornarão o mesmo resultado. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 20, 2015 Beraldo, só retornou um resultado. na minha tabela tem 3 resultados (3 linhas) quando rodo no localhost. me apresenta os três resultados. não esta retornando o while da primeira query que agrupa o Subject. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2015 Beraldo, só retornou um resultado. na minha tabela tem 3 resultados (3 linhas) Se o SELECT direto no banco de dados retornou só um, é por que só há um registro que coincide com as condições do WHERE. E isso não está ligado com o PHP, nem com as extensões mysqli ou mysqli Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 20, 2015 Muito Bom Beraldo, você estava certo. Estava selecionando um período e nesse período só havia um mesmo. A gente passa porcima de coisas fáceis e não vê. Vou revisar e posto o resultado para fechar. Grato. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Julho 21, 2015 Ok Beraldo o problema era somente a conexão, que o servidor não estava aceitando ser por Mysql_connect, usando a classe FPDF, tive de usar a extensão Mysqli para as conexões. O restante do Script estava correto. Agradeço ai sua experiência e dicas. Valeu amigão. Compartilhar este post Link para o post Compartilhar em outros sites