Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal!
Seguinte,
Preciso quebrar uma pagina toda vez que um retorno da rotina foreach é feita.
Abaixo segue meu código, ele simplesmente gera vários boletos através dos dados no mysql, porém, como na foto em anexo, ele solta todas as informações na mesma página, uma em cima da outra, ao invés de imprimir o resultado um abaixo do outro na página html, o que na verdade eu preciso fazer é quebrar uma página quando a função echo $boleto->getOutput(); é chamada.
Segue:
<?php$xheader = '<link rel="stylesheet" href="../assets/lib/invoice/invoice.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="../assets/lib/buttons/style.css" type="text/css" charset="utf-8" />';$xfooter = '';?> <?phpinclude 'geraboleto/autoloader.php';use OpenBoleto\Banco\Unicred;use OpenBoleto\Agente;setlocale(LC_ALL, 'pt_BR'); // definindo para português do brasil o nome do mês$diasPassadosdoMes = date("j"); // soma dos dias da data atual$dataagora = date("Y-m-d");$timestampUltimoMes = time() - $diasPassadosdoMes *24*60*60; // calculando e obtendo um timestamp do mÊs anterior$ultimoMes = strftime("%m", $timestampUltimoMes); // armazenando o nome do mês anterior na váriavel e codificando o nome para UTF8.$ultimoMes_int = strftime("%d/%Y", $timestampUltimoMes);$dataagora = strftime("%m"); $rec_ordinarias = "SELECT * FROM invoices WHERE status='Unpaid' AND MONTH(`created`) = $dataagora"; $stmt = $dbh->prepare("$rec_ordinarias"); $stmt->execute(); $result = $stmt->fetchAll(); function money($value){ return number_format($value, 2, ",", "."); }; function convdata($dataform, $tipo){ if ($tipo == 0) { $datatrans = explode ("/", $dataform); $data = "$datatrans[2]-$datatrans[1]-$datatrans[0]"; } elseif ($tipo == 1) { $datatrans = explode ("-", $dataform); $data = "$datatrans[2]/$datatrans[1]/$datatrans[0]"; }elseif ($tipo == 2) { $datatrans = explode ("-", $dataform); $data = "$datatrans[1]/$datatrans[2]/$datatrans[0]"; } elseif ($tipo == 3) { $datatrans = explode ("/", $dataform); $data = "$datatrans[2]-$datatrans[1]-$datatrans[0]"; } return $data; }; function diasEntreData($date_ini, $date_end){ $data_ini = strtotime( convdata(convdata($date_ini,3),2) ); //data inicial '29 de julho de 2003' $hoje = convdata($date_end,3);//date("m/d/Y"); // data atual $foo = strtotime($hoje); // transforma data atual em segundos (eu acho) $dias = ($foo - $data_ini)/86400; //calcula intervalo if ($dias <= 0) { $dias = 0;} return $dias; }; if($result==''){ r2('invoices'.EXT,'e','Não existem boletos gerados para esse mês'); } foreach ($result as $value) { $iid=$value['id']; $cid=$value['userid']; $created = $value['created']; $duedate = $value['duedate']; $datepaid= $value['datepaid']; $paymentmethod= $value['paymentmethod']; $note = $value['notes']; $total = $value['total']; $stotal = $value['subtotal']; $tax = $value['tax']; $taxname = $value['taxname']; $vtoken = $value ['vtoken']; $ptoken = $value ['ptoken']; $caddress =lc('caddress'); $status = $value['status']; $cl=findOne('accounts',$cid); $query = "SELECT description,amount from invoiceitems where invoiceid='$iid' ORDER BY id ASC"; $stmt = $dbh->prepare("$query"); $stmt->execute(); $result = $stmt->fetchAll(); $i="0"; $ext = EXT; $arr = array(); if ($stmt->rowCount() > 0) { foreach($result as $value) { $i++; $arr[] = $value['description'] . ": R$ ".number_format ($value['amount'], 2, ',', '.').' Reais'; } } $formatadata = $duedate; $vencimento = date('d-m-Y', strtotime($formatadata)); $emissao = date('d-m-Y', strtotime($created)); //Função de juros e multas //echo diasEntreData("05/08/2009",date("d/m/Y")); exit; $dat_venc = date('d/m/Y', strtotime($vencimento)); $valor_doc = $total; $juros = 0; $multa = 0; $diasentredatas = (diasEntreData($dat_venc,date("d/m/Y"))); if ($diasentredatas > 0) { $juros = ((0.01 * $valor_doc /30 * $diasentredatas ) );//money((($valor_doc*0.33)/100)); $multa = ((2 * $valor_doc) / 100);//money(($valor_doc * 2) / 100); } $valorDocComJuros = $valor_doc + ($juros + $multa); if ($diasentredatas > 0) { $informativoJuros = "<strong>Valor Original: R$ ".money($valor_doc) . "<strong><br> Dias de atraso: ". diasEntreData($dat_venc,date("d/m/Y")) ." dias<br> + R$ ".money($juros)." (juros)<br> + R$ ".money($multa)." (multa)<br> = Valor a Pagar: R$ ".money($valorDocComJuros); } $valor_doc = $valor_doc + ($juros + $multa); $juros = money($juros); $multa = money($multa); //echo $informativoJuros; // fim da funcão ?> <!--CORPO DO BOLETO--> <?php $bank_p = ORM::for_table('accounts') ->where_raw('(`lname` = ? OR `acctype` = ? )', array('principal', 'Bank')) ->find_many(); foreach ($bank_p as $accounts) { $contabanco = $accounts['address1']; $agenciabanco= $accounts['company']; $digitoconta = $accounts['address2'];} $sacado = new Agente($cl['name'], $cl['company'], $cl['address1'], $cl['address2'], $cl['city'] .', '.$cl['state'].' - '.$cl['postcode'], $cl['company']); $cedente = new Agente(lc('CompanyName'), lc('cnpj')); $boleto = new Unicred(array( // Parâmetros obrigatórios 'dataVencimento' => new DateTime($vencimento), 'valor' => $valor_doc, 'sacado' => $sacado, 'cedente' => $cedente, 'agencia' => $agenciabanco, // Até 4 dígitos 'carteira' => 51, // 11, 21, 31, 41 ou 51 'conta' => $contabanco, // Até 10 dígitos 'sequencial' => $vtoken, // Até 10 dígitos // Parâmetros recomendáveis //'logoPath' => 'http://empresa.com.br/logo.jpg', // Logo da sua empresa 'contaDv' => 2, 'agenciaDv' => 1, 'descricaoDemonstrativo' => $arr, 'instrucoes' => array( // Até 8 'SUJEITO A COBRANÇA JUDICIAL APÓS 0 DIAS DO VENCIMENTO', 'ACRESCIDO DE HONORÁRIOS ADVOCATÍCIOS.', 'APÓS O VENCIMENTO 2% DE MULTA + 1% JUROS/MES', '', 'O BANCO NÃO RECEBERÁ APÓS O VENCIMENTO', ), // Parâmetros opcionais //'resourcePath' => '../resources', //'moeda' => BancoDoBrasil::MOEDA_REAL, //'dataDocumento' => new DateTime(), 'dataProcessamento' => new DateTime(), //'contraApresentacao' => true, //'pagamentoMinimo' => 23.00, //'aceite' => 'N', 'especieDoc' => 'R$', 'numeroDocumento' => $ptoken, //'usoBanco' => 'Uso banco', //'layout' => 'layout.phtml', 'logoPath' => '../assets/uploads/logo.png', //'sacadorAvalista' => new Agente('Antônio da Silva', '02.123.123/0001-11'), //'descontosAbatimentos' => 123.12, //'moraMulta' => 123.12, //'outrasDeducoes' => 123.12, //'outrosAcrescimos' => 123.12, //'valorCobrado' => 123.12, //'valorUnitario' => 123.12, //'quantidade' => 1, )); echo $boleto->getOutput(); } //var_dump($cid, $created, $duedate, $datepaid, $results, $ultimoMes, $dataagora); ?> <?php require ('sections/footer.tpl.php'); ?>
Muito obrigado por enquanto a todos que puderem ajudar!
Att,
Thiago Dell Agnesi
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.tdasistemas.com.br/boleto.jpg&key=b874438ddbbe2662a511528f953ea661d34ccd1ca1b85dbf5ab415e4c4256edc" alt="boleto.jpg" />
Alguém?
Carregando comentários...