Ir ao conteúdo
  • Cadastre-se

xrogerinho

Membro Pleno
  • Posts

    68
  • Cadastrado em

  • Última visita

posts postados por xrogerinho

  1. a própria função <hread> gera um cabeçalho para os relatorios quando encaminhados para impressão, o problema é que via php não é possível gerar uma numeração automática dentro desse elemento.

     

    Exemplo:
     

    <table>
    
             <thead>
    
                         <tr>
    
                                   <th> RELATORIO</th>
    
                                    <th> <?=($pagina+1)?></th>
    
                           </tr>
    
               </thead>
    
               <tbody>
    
                              <?  foreach (...) {?>
    
                             <tr>
    
                                   <td>REGISTROS DO RELATÓRIO/td>
    
                               </tr>
    
                                     <?}?>
    
                </table>

     

    Obs: É extremamente simples gerar cabeçalho com numeração de página para relatorios com linhas fixas,

    porém quando as linhas são irregulares, isto é, linhas que variam de tamanho dependendo da quantidade de caracteres, isso se torna inviável.

     

     

      Ex;


     

         <?
    
                foreach (...) {                                 
    
      
    
               if($lin == 60) {
    
                   
    
                    $lin = 0;
    
                          $pag++;
    
    
    
                     echo "
    
                   <tr> 
    
                         <td> CABEÇALHO DO RELATÓRIO - Pág.: <?=($pag)?> </td>
    
                    </tr>
    
                               ";
    
                              }
    
                             $lin++;
    
                       }
    
    
    
                       ?>
    
         

     

     

  2. @MailingTester Obrigado pela resposta.

     

    seria um caminho, porém eu teria que informar todas as contas existentes na tabela.

     

    isso funcionaria algo assim:

    foreach ($contas as &$conta) {
            $sql = mysql_query("sum (valor) as soma where conta like '$conta%');
    }

     

    dessa forma ele criaria uma soma em cascata de todas as contas;

      

        conta 1 = R$ xxxx

        conta 11 = R$ xxxx

        conta 111 = R$ xxxx

     

    só que dessa forma o processo ficaria muito carregado, criando uma busca para cada conta;

    a minha ideia é que em uma única busca fizesse essa soma escalonada.

     

  3. Olá programadores, preciso de uma dica,

    estou tentando elaborar um relatorio qua simula um balancete de contabilidade,

    onde os itens são somados em cascata, por exemplo:

     

    todas as contas iniciadas com 1

    todas as contas iniciadas com 11

    todas as contas iniciadas com 111

     

    segue meu codigo da consulta, onde separa o saldo anterior, debitos do mes, creditos do mes, e saldo atual


     

       $sql = mysql_query("select lancamentos.*, contas.descricao as descricao,
       sum(case when data < '$ano/$mes/1' then valor else 0 end) as saldo,
       sum(case when year(data) = '$ano' and month(data) = '$mes' and valor < 0 then valor else 0 end) as debito, 
       sum(case when year(data) = '$ano' and month(data) = '$mes' and valor > 0 then valor else 0 end) as credito, 
       sum(case when data <= '$ano/$mes/31' then valor else 0 end) as total from lancamentos inner join contas 
       on lancamentos.conta = contas.conta where empresa = '$empresa' 
       group by contas.conta order by contas.conta asc");

    deveria ficar mais ou menos assim:

     

                                  +----------------------------------------------------------------------------------------------------+

                                   Conta              | Saldo anterior |           Debitos |        Creditos |  Salto atual    |

                                   ------------------------------------------------------------------------------------------------------

                                   | 1                    |         1.000,00 |          - 500,00 |          400,00 |            900,00 | 

                                   ------------------------------------------------------------------------------------------------------

                                   | 11                  |            700,00 |           -250,00 |          150,00 |            600,00 |

                                   ------------------------------------------------------------------------------------------------------

                                   | 111                 |           300,00 |           -150,00 |          100,00 |            250,00 |

                                   ------------------------------------------------------------------------------------------------------

  4. Olá programadores mirins!

     

    É sabido que 99% das formas de invadir um sistema de senhas é injetando a operação lógica 'or' que faz com que o login libere o acesso mesmo o usuário não saiba a senha!

     

    Nesta caso, a minha dica seria inserir a linha de checagem após o usuário confirmar o acesso:

     

    $string = str_replace("or", "", $string);

     

    Isto inibiria o uso do código malicioso, removendo a operação 'or' da string caso alguém tentasse burlar o acesso usando essa expressão.

     

    O que acham dessa ideia?

  5. 18 horas atrás, DiF disse:

    @xrogerinho Olá.

     

    Não sei se te serve, mas  uma vez precisei desenvolver uma classe para gerar tickets com sequencias numéricas e letras, pode ser que seja útil para você.

    https://coderdif.wordpress.com/2014/11/16/gerar-cuponstickets-aleatorios-com-php/

     

    Basta instanciar o objeto de classe e usar a função geraCupons()   onde dentro dos parenteses, você deve informar a quantidade de caracteres aleatórios que você quer gerar

    Cara, muitissimo obrigado, vou testar.

    • Curtir 1
  6. Muito agradecido nobre amigo @GabrielSennaMs, eu até já tenho uma script que valida o tamanho mínimo do campo, veja:

     

            if(frm.senha.value.length < 6) {
                alert('Senha muito curta!');
                return false;
     

    porém, eu quero validar a força da senha pela variação de caracteres, para que o usuário não digite uma senha muito simples tipo 111111, 121212, exigindo que a senha tenha um mínimo de caracteres distintos.

     

    Eu queria contar quantos tipos de caracteres diferentes possui o campo. Exemplo: 121212 = 2 caracteres distintos, 123123 = 3 caracteres distintos, etc

  7. Fala galera,

     

    tenho um formulário que após a validação precisa enviar para submit (no mesmo formulário) como qualquer outro rsrsrs

    o problema é que preciso criar dois submit nesse formulário

    um no primeiro campo que faz a busca de campo duplicado

    outro que no botão ok envia para validação completa e gravação

     

    o primeiro campo faz submit, procura registro duplicado no sql e retorna para o formulario:

    <input type="text" name="codigo" onchange="this.form.submit()" />

     

    o botão ok envia o formulário para validação após preenchimento completo:

    <input type="button" name="ok" id="ok" onclick="return valida()">

     

    a validação envia para submit:

    document.form.submit();

     

    apos a validação e o segundo submit o php deveria achar o botão ok para gravar:

    if (isset($_POST['ok']))  { executa o formulario }

    é aqui que não consigo encontrar mais o botão ok para executar o formulário.

     

    porque o php não encontra o post do botão submit após a validação?

     

    só preciso enviar um ok apos a validação para que o php saiba que finalizei o formulário

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!