Ir para conteúdo

POWERED BY:

Arquivado

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

rcamu

Habilitar ou Desabilitar determinada função.

Recommended Posts

Pessoal, bom dia,

 

Tenho uma tela de consulta de pedidos e nessa tela pode fazer alterações no pedido, cancelar,  imprimir etc.

 

Como posso fazer com que essa funções só fique ativa se determinado campo da tabela estiver preenchido?

 

Exemplo:

Se o pedido estiver marcado que já foi separado o link para fazer alteração no pedido fica inativo, esse link só ficaria ativo se o pedido ainda não tiver sido separado.

 

No relatório uso  assim: 

 

</td><td align='center'><a href='manutencaopedido.php?id=$id'> Alterar"

 

Minha consulta está assim:

 

SELECT date_format(dtConcat2, '%d/%m/%Y') as data2, m.dtConcat2, c.nome cliente, m.total, m.descricao, d.nome_vendedor vendedor, m.id, m.exportado, m.transporte, e.tipo_entrega
FROM lc_controle m, clientes c, vendedor d, entrega e
WHERE m.tipo =4
AND m.exportado ='Não'
AND m.clienteAt = c.id
AND m.vendedor = d.id
AND m.transporte = e.id
ORDER BY dtConcat2 desc

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa fazer uma consulta no carregamento da página, verificando se tal campo foi preenchido, caso não, desabilita o botão. Crie uma função para isso, pegue o retorno e valide ela.

 

Se for uma aplicação SPA por exemplo, pode usar Ajax para ficar verificando a todo instante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá  rcamu

 

Saudações...

 

Partindo do princípio que acredito que na sua Base de Dados deve ter um campo na sua tabela para STATUS, por exemplo:

 

Tabela -> produto

campos - id

campos - nome

campos - status

 

Você deve fazer uma busca em sua tabela e filtrar pelo o Campo STATUS no caso, um exemplo usando PDO:

             <?php

                  //Paginação da página
                  $pag = isset($_GET['pag']) ? (int)$_GET['pag']  : 1;

                  $maximo = '10'; //RESULTADOS POR PÁGINA
                  $inicio = ($pag * $maximo) - $maximo; 

                     $sql_pegaAtivos = "SELECT * FROM cotacao WHERE clientes_clienteId = '$user_clienteId'
                                             ORDER BY cotaNumero DESC LIMIT ".$inicio.','.$maximo;
                              
                     try{
                       $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
                       $query_pegaAtivos->bindValue(':clientes_clienteId',$user_clienteId,PDO::PARAM_STR);
                       $query_pegaAtivos->execute();
                       
                       $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
                       $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);

                       }catch(PDOexception $error_pegaAtivos){
                            echo 'Erro ao pegar ativos';
                       }
                       
                       foreach($resultado_pegaAtivos as $resAtivos){
                               $cotaId             = $resAtivos['cotaId'];        
                               $cotaNumero         = $resAtivos['cotaNumero'];                    
                               $cotaDtInicio       = $resAtivos['cotaDtInicio'];
                               $cotaHrsInicio      = $resAtivos['cotaHrsInicio'];                 
                               $cotaDtFim          = $resAtivos['cotaDtFim'];  
                               $cotaHrsFim         = $resAtivos['cotaHrsFim']; 
                               $cotaTitulo         = $resAtivos['cotaTitulo']; 
                               $cotaObserva        = $resAtivos['cotaObserva']; 
                               $cotaStatus         = $resAtivos['cotaStatus'];   
                               $clientes_clienteId = $resAtivos['clientes_clienteId'];       
                               $desc_categ         = $resAtivos['desc_categ'];                 
                               $desc_pgto          = $resAtivos['desc_pgto'];
                       }

                  ?>

 

Depois faço uma validação através do campo STATUS

                        <td align="center" width="70">
                        <?php 
                          
                          //O Sistema faz uma pesquisa do campo cotaStatus do resultado que veio do MySql
                          switch ($cotaStatus){
                            case 0: 
                            ?>
                            <!-- Editar a Cotação para Alteração -->
                               <form name="analisar" 
                                     action="painel.php?exe=admin-cliente/cotacao/cotacao_itens&cotacao=<?php echo $cotaId;?>" 
                                     enctype="multipart/form-data" method="post" >

                                  <input type="hidden" name="cotaId" value="<?php echo $cotaId;?>" />
                                  <input type="hidden" name="cotaNumero" value="<?php echo $cotaNumero;?>" />
                                
                                  <input class="btn btn-primary btn-xs" type="submit" name="executar" id="executar" 
                                         style="font-size: 14px;" value="Editar" />
                               </form> 
                            <?php
                            break;

                            case 1: 
                            ?>
                               <!-- Anilisar a Cotação para poder Alteração -->
                               <form name="analisar" 
                                     action="painel.php?exe=admin-cliente/cotacao/cotacao_itensCota&cotacao=<?php echo $cotaId;?>" 
                                     enctype="multipart/form-data" method="post" >

                                  <input type="hidden" name="cotaId" value="<?php echo $cotaId;?>" />
                                  <input type="hidden" name="cotaNumero" value="<?php echo $cotaNumero;?>" />
                                
                                  <input class="btn btn-success btn-xs" type="submit" name="executar" id="executar" 
                                         style="font-size: 14px;" value="Editar" />
                               </form> 
                            <?php 
                            break;

                            case 2: 
                            ?>
                            <!-- Visualizar a Cotação para Analisar -->
                               <form name="analisar" 
                                     action="painel.php?exe=admin-cliente/cotacao/cotacao_tela&cotacao=<?php echo $cotaId;?>" 
                                     enctype="multipart/form-data" method="post" >

                                  <input type="hidden" name="cotaId" value="<?php echo $cotaId;?>" />
                                  <input type="hidden" name="cotaNumero" value="<?php echo $cotaNumero;?>" />
                                
                                  <input class="btn btn-success btn-xs" type="submit" name="executar" id="executar" 
                                         style="font-size: 14px;" value="Editar" />                                      
                               </form>  
                            <?php
                            break;

                            case 3: 
                            ?>
                            <!-- Visualizar a Cotação para Enviar aos Fornecedores -->
                               <form name="analisar" 
                                     action="painel.php?exe=admin-cliente/cotacao/cotacao_telaDisp&cotacao=<?php echo $cotaId;?>" 
                                     enctype="multipart/form-data" method="post" >

                                  <input type="hidden" name="cotaId" value="<?php echo $cotaId;?>" />
                                  <input type="hidden" name="cotaNumero" value="<?php echo $cotaNumero;?>" />
                                
                                  <input class="btn btn-success btn-xs" type="submit" name="executar" id="executar" 
                                         style="font-size: 14px;" value="Editar" />                                      
                               </form>  
                            <?php
                            break;     

                            case 4: 
                            ?>
                            <!-- Visualizar a Cotação para Encerrar -->
                               <form name="analisar" 
                                     action="painel.php?exe=admin-cliente/cotacao/cotacao_telaFim&cotacao=<?php echo $cotaId;?>" 
                                     enctype="multipart/form-data" method="post" >

                                  <input type="hidden" name="cotaId" value="<?php echo $cotaId;?>" />
                                  <input type="hidden" name="cotaNumero" value="<?php echo $cotaNumero;?>" />
                                
                                  <input class="btn btn-success btn-xs" type="submit" name="executar" id="executar" 
                                         style="font-size: 14px;" value="Editar" />                                      
                               </form>  
                            <?php
                            break;                                                         

                          }//fim do switch/case

                        ?>
                        </td>    

 

Espero poder ter ajudado.

 

Cesar

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

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