Ir para conteúdo

Arquivado

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

alissong

erro ao gerar pdf com a classe mpdf

Recommended Posts

arquivo -> rel_analise_mpdf.php
<?php
// bd.php deve conter as funções para se conectar no banco de dados
 require ("verifica.php");
 include("conexao/bdinc.php"); 

// Fecha conexão

// Passando data do banco "AAAA-MM-DD" para "DD/MM/AAAA"
function mostraData ($data_emissao) {
if ($data_emissao!='') {
return (substr($data_emissao,8,2).'/'.substr($data_emissao,5,2).'/'.substr($data_emissao,0,4));
}
else { return ''; }
}
// Fecha função para data

// busca os dados no banco de dados

$cod = $_GET["id"];
$sql = "SELECT * FROM analise WHERE id = '$cod'";
$resultado = mysqli_query($conn,$sql);
while ($linha = mysqli_fetch_array($resultado)){
$cod = $linha["id"];
$fatura_nf = $linha["fatura_nf"];
$data_emissao = mostraData($linha["data_emissao"]);
$valor_nf = $linha["valor_nf"];
$valor_nf = number_format($valor_nf, 2, ',','.');
$n_contrato = $linha["n_contrato"];
$cnpj_cpf = $linha["cnpj_cpf"];
$quesito_1 = $linha["quesito_1"];
$opcao_1 = $linha["opcao_1"];
$ocorrencia_1 = $linha["ocorrencia_1"];
$quesito_2 = $linha["quesito_2"];
$opcao_2 = $linha["opcao_2"];
$ocorrencia_2 = $linha["ocorrencia_2"];
$quesito_3 = $linha["quesito_3"];
$opcao_3 = $linha["opcao_3"];
$ocorrencia_3 = $linha["ocorrencia_3"];
$quesito_4 = $linha["quesito_4"];
$opcao_4 = $linha["opcao_4"];
$ocorrencia_4 = $linha["ocorrencia_4"];
$quesito_5 = $linha["quesito_5"];
$opcao_5 = $linha["opcao_5"];
$ocorrencia_5 = $linha["ocorrencia_5"];
$quesito_6 = $linha["quesito_6"];
$opcao_6 = $linha["opcao_6"];
$ocorrencia_6 = $linha["ocorrencia_6"];
$quesito_7 = $linha["quesito_7"];
$opcao_7 = $linha["opcao_7"];
$ocorrencia_7 = $linha["ocorrencia_7"];
$quesito_8 = $linha["quesito_8"];
$opcao_8 = $linha["opcao_8"];
$ocorrencia_8 = $linha["ocorrencia_8"];
$quesito_9 = $linha["quesito_9"];
$opcao_9 = $linha["opcao_9"];
$ocorrencia_9 = $linha["ocorrencia_9"];
$quesito_10 = $linha["quesito_10"];
$opcao_10 = $linha["opcao_10"];
$ocorrencia_10 = $linha["ocorrencia_10"];
$quesito_11 = $linha["quesito_11"];
$opcao_11 = $linha["opcao_11"];
$ocorrencia_11 = $linha["ocorrencia_11"];
$quesito_12 = $linha["quesito_12"];
$opcao_12 = $linha["opcao_12"];
$ocorrencia_12 = $linha["ocorrencia_12"];
$quesito_13 = $linha["quesito_13"];
$opcao_13 = $linha["opcao_13"];
$ocorrencia_13 = $linha["ocorrencia_13"];
$quesito_14 = $linha["quesito_14"];
$opcao_14 = $linha["opcao_14"];
$ocorrencia_14 = $linha["ocorrencia_14"];
$quesito_15 = $linha["quesito_15"];
$opcao_15 = $linha["opcao_15"];
$ocorrencia_15 = $linha["ocorrencia_15"];
$quesito_16 = $linha["quesito_16"];
$opcao_16 = $linha["opcao_16"];
$ocorrencia_16 = $linha["ocorrencia_16"];
$quesito_17 = $linha["quesito_17"];
$opcao_17 = $linha["opcao_17"];
$ocorrencia_17 = $linha["ocorrencia_17"];
$quesito_18 = $linha["quesito_18"];
$opcao_18 = $linha["opcao_18"];
$ocorrencia_18 = $linha["ocorrencia_18"];
$quesito_19 = $linha["quesito_19"];
$opcao_19 = $linha["opcao_19"];
$ocorrencia_19 = $linha["ocorrencia_19"];
$quesito_20 = $linha["quesito_20"];
$opcao_20 = $linha["opcao_20"];
$ocorrencia_20 = $linha["ocorrencia_20"];
$quesito_21 = $linha["quesito_21"];
$opcao_21 = $linha["opcao_21"];
$ocorrencia_21 = $linha["ocorrencia_21"];
$quesito_22 = $linha["quesito_22"];
$opcao_22 = $linha["opcao_22"];
$ocorrencia_22 = $linha["ocorrencia_22"];
}
// Captura o usuario logado no sistema e IP
$usuario = $_SESSION['login'];
$usuario = ucfirst($_SESSION['login']);
$ip = $_SERVER["REMOTE_ADDR"];


$html= '
<HTML>
<BODY>
<table border="1" width="100%">
<tr>
<td width="60%" align ="center" colspan="4"><label>ANÁLISE CONTÁBIL DA NFS-e :'.$fatura_nf.'</label></td>
<td width="30%"><label>Usuário</label></td>
<td width="10%" align ="left" colspan="2"><label>'.$usuario.'</label></td>
</tr>
<tr>
  <td width="30%"><label>Fatura/Nota Fiscal</label></td>
  <td width="10%" align ="right">'.$fatura_nf.'</td>
  <td width="30%"><label>Data Fatura/Nota Fiscal</label></td>
  <td width="10%" align ="right">'.$data_emissao.'</td>
  <td width="30%" align ="left" rowspan="2"><label>Valor da Fatura/Nota Fiscal</label></td>
  <td width="20%" align ="right" rowspan="2">'.$valor_nf.'</td>
</tr>
<tr>
  <td width="60%" ><label>N° Contrato</label></td>
  <td width="10%" align ="right" >' . $n_contrato . '</td>
  <td width="40%" align ="left"  ><label>CNPJ da Contratada</label></td>
  <td width="20%" align ="right" >' .$cnpj_cpf. '</td>
</tr>
<tr>
  <td width="60%"><label><b> Documentação que deve acompanhar a Nota Fiscal de prestação de serviços continuados</b></label></td>
  <td width="5%" align ="center"><label><b>Selecione a opção</b></label></td>
  <td width="35%" align ="center" colspan="4"><label><b>Descrição da Ocorrência</b></label></td>
</tr>
<tr>
  <td width="60%">1. Nota Fiscal com as seguintes informações: descrição do serviço, competência da nota, n° da Licitação e n° do Contrato ?</td>
  <td width="5%" align ="center">' . $opcao_1 . '  </td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_1 . '</td>
</tr>
<tr>
  <td width="60%">2. Planilha contendo as seguintes informações: nomes completos dos empregados, funções exercidas, dias efetivamente trabalhados, horas extras
trabalhadas, férias, licenças, faltas e ocorrências (n° de terceirizados por função deve coincidir com o previsto no contrato) ?</td>
  <td width="5%" align ="center">' . $opcao_2 . '   </td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_2 . '</td>
</tr>
<tr>
  <td width="60%">3. Cópia da Folha de Pagamento dos empregados ?</td>
  <td width="5%" align ="center">' . $opcao_3 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_3 . '</td>
</tr>
<tr>
  <td width="60%">4. Cópia do depósito bancário ou relação bancária de pagamento dos empregados (deve estar previsto no contrato) ?</td>
  <td width="5%" align ="center">' . $opcao_4 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_4 . '</td>
</tr>
<tr>
  <td width="60%">5. Cópia do Protocolo de Envio de Arquivos, emitido pela Conectividade Social (GFIP) ?</td>
  <td width="5%" align ="center">' . $opcao_5 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_5 . '</td>
</tr>
<tr>
  <td width="60%">6. Cópia da Guia de Recolhimento do FGTS (GRF) com a autenticação mecânica ou acompanhada do comprovante de recolhimento bancário ou o
comprovante emitido quando recolhimento for efetuado pela Internet ?</td>
  <td width="5%" align ="center">' . $opcao_6 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_6 . '</td>
</tr>
<tr>
  <td width="60%">7. Cópia da Relação dos Trabalhadores Constantes do Arquivo SEFIP (RE) ?</td>
  <td width="5%" align ="center">' . $opcao_7 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_7 . '</td>
</tr>
<tr>
  <td width="60%">8. Cópia da Guia de Recolhimento Rescisório do FGTS, quando houver rescisão sem justa causa ?</td>
  <td width="5%" align ="center">' . $opcao_8 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_8 . '</td>
</tr>
<tr>
  <td width="60%">9. Cópia do Termo de Rescisão, quando houver rescisão do contrato do trabalhador ?</td>
  <td width="5%" align ="center">' . $opcao_9 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_9 . '</td>
</tr>
<tr>
  <td width="60%">10. Cópia do Comprovante de Declaração à Previdência ?</td>
  <td width="5%" align ="center">' . $opcao_10 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_10 . '</td>
</tr>
<tr>
  <td width="60%">11. Cópia da Guia da Previdência Social (GPS) com a autenticação mecânica ou acompanhada do comprovante de recolhimento bancário ou o comprovante emitido
quando recolhimento for efetuado pela Internet ?</td>
  <td width="5%" align ="center">' . $opcao_11 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_11 . '</td>
</tr>
<tr>
  <td width="60%">12. Comprovante de Recolhimento do Imposto Sobre Serviço de Qualquer Natureza - ISSQN, exceto se o órgão ou entidade efetivar a devida retenção ?</td>
  <td width="5%" align ="center">' . $opcao_12 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_12 . '</td>
</tr>
<tr>
  <td width="60%">13. Cópia do Comprovante de Recolhimento do Imposto Sobre Serviço de Qualquer Natureza - ISSQN, exceto se o órgão ou entidade efetivar a devida retenção ?</td>
  <td width="5%" align ="center">' . $opcao_13 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_13 . '</td>
</tr>
<tr>
  <td width="60%">14. Cópia da Certidão Negativa de Débito junto ao INSS (CND), a Certidão Negativa de Débitos de Tributos e Contribuições Federais e o Certificado de
Regularidade do FGTS (CRF), sempre que expire o prazo de validade ?</td>
  <td width="5%" align ="center">' . $opcao_14 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_14 . '</td>
</tr>
<tr>
  <td width="60%">15. Cópia da Folha ponto dos empregados: em caso de faltas injustificadas do empregado, deve a fatura conter o respectivo desconto ?</td>
  <td width="5%" align ="center">' . $opcao_15 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_15 . '</td>
</tr>
<tr>
  <td width="60%">16. Comprovante de fornecimento de vale-transporte aos empregados de acordo com os dias efetivamente trabalhados (onde houver cartão deve ser apresentado
cópia do cartão e comprovante da recarga do mesmo pela empresa) ?</td>
  <td width="5%" align ="center">' . $opcao_16 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_16 . '</td>
</tr>
<tr>
  <td width="60%">17. Comprovante de pagamento do auxílio alimentação aos empregados ?</td>
  <td width="5%" align ="center">' . $opcao_17 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_17 . '</td>
</tr>
<tr>
  <td width="60%">18. Comprovante dos recibos de pagamento de autônomos - RPA ou cópia dos demais documentos se o empregado substituto tiver vínculo empregatício com a
empresa (nos casos de substituição do empregados) ?</td>
  <td width="5%" align ="center">' . $opcao_18 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_18 . '</td>
</tr>
<tr>
  <td width="60%">19. Consultar a situação da empresa junto ao SICAF, SN, TST, PT imprimir e anexar à Nota Fiscal ?</td>
  <td width="5%" align ="center">' . $opcao_19 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_19 . '</td>
</tr>
<tr>
  <td width="60%">20. Consultar contrato no SIASG, seguro garantia e vigência do seguro ?</td>
  <td width="5%" align ="center">' . $opcao_20 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_20 . '</td>
</tr>
<tr>
  <td width="60%">21. O valor da NF é o mesmo do valor mensal do contrato ?</td>
  <td width="5%" align ="center">' . $opcao_21 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_21 . '</td>
</tr>
<tr>
  <td width="60%">22. DIVS, INSS E ISSQN foram calculados ?</td>
  <td width="5%" align ="center">' . $opcao_22 . '</td>
  <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_22 . '</td>
</tr>
</table>
</BODY>
</HTML>
';

// Fecha o código HTML

include("mpdf/mpdf.php");

//É fundamental definir o TIMEZONE de nossa região para que não tenhamos problemas com a geração.
date_default_timezone_set('America/Sao_Paulo');

$mpdf=new mPDF('c','A4'); 

// coloca o titulo no arquivo
$mpdf->SetTitle('ANÁLISE CONTÁBIL DA NFS-e');

$mpdf->SetDisplayMode('fullpage');

$mpdf->list_indent_first_level = 1;	// 1 or 0 - whether to indent the first level of a list

// coloca o rodape no arquivo
$mpdf->SetFooter("{DATE j/m/Y H:i}|Pagina {PAGENO} de {nb}|$ip/contabilidade");

// incorpora o corpo ao PDF na posição 2 e deverá ser interpretado como footage. Todo footage é posicao 2 ou 0(padrão).
$html = mb_convert_encoding($html, 'UTF-8', 'UTF-8');
$mpdf->WriteHTML($html,2);

// define um nome para o arquivo PDF
$arquivo = $fatura_nf.'analise.pdf';

// Limpa o buffer de saída
ob_clean(); 

// gera o relatório
$mpdf->Output($arquivo,'I');

exit();

// Fecha a conexao
mysqli_close($conn);
?>

Pessoal,

Quando tento gerar o relatório em PDF exibe esses errros:

Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136

Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136

Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139

Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139

Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190

Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190

Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136

Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136

Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139

Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139

Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190

Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190

Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136

Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136

Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139

Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139

Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190

Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190

Warning: Cannot modify header information - headers already sent by (output started at C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php:1190) in C:\Apache24\htdocs\contabilidade\mpdf\mpdf.php on line 8297

Warning: Cannot modify header information - headers already sent by (output started at C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php:1190) in C:\Apache24\htdocs\contabilidade\mpdf\mpdf.php on line 1706
mPDF error: Some data has already been output to browser, can't send PDF file

Pessoal uso esse link: $imprimir = "<a href='?rel=rel_analise_mpdf&id=$linha[0]'><img src='img/imprimir.jpg' width='16' border='0' height='16'></a>";

 

Para chamar o arquivo rel_analise_mpdf.php

Estou usando:

PHP 7.2

Apache24

MPDF060

 

Alguém saber como corrigir esse erro?

 

Atenciosamente,

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
    • Por ckcesar
      Eu tenho uma aplicação no zend com a versão 5.6 e com o postgresql 9.6. Agora eu precisei mudar a versão do meu postgresql para o 16.1, a parte de conexão do bd e consultas sqls funciona perfeitamente, o meu problema está para acessar os meus controllers. Eles não são encontrados em nenhuma rota, quero ver se alguém já passou por esse problema para me ajudar. Obrigado.
    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
×

Informação importante

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