Ir para conteúdo
Fórum Script Brasil
  • 0

Função Para Verificar Situação De Pagamento


Norivan Oliveira

Pergunta

Olá amigos estou querendo fazer uma função para verificar se o "cliente" está inadimplente, se trata de um if, o que eu estou tentando é o seguinte:

If ($datavencimento >= $datadepagamento){
                echo "<font color=\"red\">Inadimplente</font>";
}
else {
echo "<font color=\"green\">Ok</font>";
}

no caso ai so esta verificando se a data de vencimento é maior ou igual a data do ultimo pagamento efetuado pelo cliente, mas preciso na verdade que ele verifique se a data de vencimento é 30 dias maior que a data do ultimo pagamento

Como fazer isto?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

hum... mas é se esse valor de 30 dias for dinamico? :P

é que existem periodos de cobrança mensal, trimestral e etc...

Opa acabei de pensar numa coisa aqui, e se eu somar 30 dias a data do ultimo pagamento e colocar no if $datadevencimento < $datadepagamento.... mais ou menos assim:

$data_de_pagamento_real = 01/10/2007;
$data_de_pagamento_somada = 01/10/2007 + 30;
$data_de_vencimento = 01/11/2007

if ($data_de_pagamento_somada < $data_de_vencimento){
echo "vencido";
}
else {
echo "ok";
}

Será que funciona?? hehe vou testar

Editado por Norivan Oliveira
Link para o comentário
Compartilhar em outros sites

  • 0

Isso eu entendi o problema é que não tenho a mínima idéia de converter em timestamp... então pensei em um modo que eu conhecesse... ainda nem testei.... só fiz uma suposição. Agora se você quiser me explicar como usar timestamp logicamente irei fazer o que você indicou

Editado por Norivan Oliveira
Link para o comentário
Compartilhar em outros sites

  • 0

Cara vlw pela ajuda, mas não entendi direito essa conversão não resolvi o problema acrescentando + 1 ao mes de pagamento e depois verificando se a data é menor que a data de vencimento

Link para o comentário
Compartilhar em outros sites

  • 0

Viva o Edgar Serra :D

Da proxima vez eu uso. Construi uma função aqui de teste e me surgiu outra duvida: como eu faço para ter mais de uma condição com o sinal de maior?

<? 
$data = "2007-10-07";
$data = strtotime($data); 
$data1 = "2007-12-08";
$data1 = strtotime($data1);
$datar = $data1 - $data;

echo $datar;

If ($datar > 2674800){

echo "Pagamento pedente";
}
Elseif ($datar > 5266800){
echo "Inadimplente";
}
Else{
echo "Ok";
}
?>

Elseif ($datar > 5266800) não funciona, acho que não aceita testar duas condições com o mesmo sinal... mas então como fazer essa condição para verificar se a conta esta vencida a mais de um mês?

Link para o comentário
Compartilhar em outros sites

  • 0

Ah sim. Obrigado pela enorme ajuda Edgar. Acho que acabei a "função", vou postar aqui para você poder analisar e caso alguma outra pessoa precise pode usar ela como base, ficou assim:

<? 
$datap = $row_Recordset1['datadepagamento'];                // Pega data de pagamento
$datap = strtotime($datap); // Converte data de pagamento em segundos
$datadevecimento = date("Y-m-".$diavencimento); // Pega dia de vecimento e concatena com mês e ano atuais.
$datav = strtotime($datadevecimento);  // Converte data de vecimento
$datar = $datav - $datap; // Subtratrai data de vecimento por data de pagamento
$periodo = $row_rs_cliente['periodopagamento']; // Pega o periodo de pagamento do cliente

/* Verifica condições de periodo de pagamento e transforma em segundos*/
If ($periodo == "mensal"){
$periodo = 2674800;
}
Elseif ($periodo == "trimestral"){
$periodo = 8024400;
}
Elseif ($periodo == "semestral"){
$periodo = 16048800;
}
Elseif ($periodo == "anual"){
$periodo = 32097600;
}

$periodoad = $periodo + 2674800; //Define prazo adicional para pagamento antes do usuário se tornar inadimplente. Autalmente 1 mês

/* Verifica situação do cliente e imprime na tela*/
If (($datar > $periodo) AND ($datar <= $periodoad)){ 

echo "Ok";
}
Else{
echo "Inadimplente";
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652k
×
×
  • Criar Novo...