Ir ao conteúdo
  • Cadastre-se

Rendesson Santos

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

posts postados por Rendesson Santos

  1. Olá! Preciso de uma ajuda dos nobres colegas deste fórum.

     

    Tenho o seguinte código JavaScript:

    <script type="text/javascript">
        $(document).ready(function() {
            $("select[name='plano']").change(function() {
                var $valor = $("input[name='valor']");
                var $validade = $("input[name='validade']");
                var $nome = $("input[name='nome']");
    
                $.getJSON('classes/preenche_campo/function.php', {
                    plano: $(this).val()
                }, function(json) {
                    $valor.val(json.valor);
                    $validade.val(json.validade);
                    $nome.val(json.nome);
                });
            });
        });
    </script>

     

    Ele envia o ID do PLANO para o PHP, a seguir:

    <?php
    
        $host    = "servidor";
        $usuario = "usuario";
        $senha   = "senha";
        $banco   = "banco";
        $conn 	 = mysqli_connect($host, $usuario, $senha, $banco);
    
        function retorna($plano, $conn){
            $result_consulta = "SELECT * FROM planos WHERE idplano = '$plano' LIMIT 1";
            $resultado_consulta = mysqli_query($conn, $result_consulta);
            if($resultado_consulta->num_rows){
                $row_consulta = mysqli_fetch_assoc($resultado_consulta);
    
                date_default_timezone_set('America/Sao_Paulo');
                $hoje = date("Y/m/d");
                $venc_rec = "2019/10/12";
    
                $validade = $row_consulta['validade'];
    
                if($venc_rec > $hoje){
                    $vencimento = date('Y/m/d', strtotime('+'.$validade.' days', strtotime($venc_rec)));
                }else{
                    $vencimento = date('Y/m/d', strtotime('+'.$validade.' days', strtotime($hoje)));
                }
    
                $valores['valor'] = "R$ ".$row_consulta['valor'];
                $valores['validade'] = date('d/m/Y', strtotime($vencimento));
                $valores['nome'] = $row_consulta['nome'];
            }else{
                $valores['nome'] = 'Plano não encontrado';
            }
            return json_encode($valores);
        }
    
        if(isset($_GET['plano'])){
            echo retorna($_GET['plano'], $conn);
        }
    ?>

     

    O código PHP pega o id que foi passado pelo JavaScript e retorna o vencimento mediante a validade retornada pelo banco de acordo com o Plano do ID, contando da data do HOJE.

     

    Até então estes códigos funcionam perfeitamente, mas agora preciso que o JavaScript passe também uma data, além do plano, para que o vencimento seja calculado com a validade a partir da data, passada via parâmetro, e não do HOJE.

     

    A variável "$venc_rec" deve receber a data passada, mas por hora está fixa, só para o código continuar funcionando.

    A intenção é que o PHP verifique se o vencimento atual é maior que a data do HOJE, se for, ele deverá somar a validade a partir deste vencimento, e se o vencimento for excedido a validade seja adicionada ao dia do HOJE.

     

    A validade recebida do banco é um número inteiro e as data são tratadas no formato "YYYY/mm/dd" mas exibidas para o usuário do sistema de recargas em "dd/mm/YYYY" (os formatos das datas não são tão relevantes, somente informei porque o código não faz os cálculos corretamente com a data no formato brasileiro).

     

    Já tentei de várias formas, mas aí o código para de funcionar.

     

    Se puderem me ajudar, serei imensamente grato.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...