Jump to content
violin101

JAVASCRIPT - Pesquisar ITEM no Mysql para agregar na Tabela

Recommended Posts

Caros amigos, saudações...

 

Gostaria de tirar uma dúvida com os amigos, referente JAVASCRIPT.

 

Estou escrevendo uma rotina, onde o USUÁRIO selecione o Produto e informe o valor de Desconto que deseja informar para o produto. <<=== ATÉ AQUI TUDO BEM.

 

Minha dúvida:

tem como pelo o JAVASCRIPT no ato da seleção do PRODUTO o sistema informar se este Produto já foi cadastrado no MYSQL ?

 

Abaixo posto o código que estou usando para selecionar o Produto.

MODAL

<!--
   Modal eu utilizo para Selecionar o Produto
-->

<div class="modal fade" id="modal_prod">
    <div class="modal-dialog" style="width:80%;">
        <div class="modal-content">

            <div class="modal-header" style="font-size:18px; color:#ffffff; background:#307192;">
               <h4 class="modal-title"><strong>Lista de Produtos</strong></h4>
            </div>

            <div class="modal-body">
              <table id="tab_prod" class="table table-bordered table-hover">
                <thead>
                    <tr>
                      <th style="text-align:center;">Cód. Interno</th>
                      <th style="text-align:center;">Descrição do Produto</th>
                      <th style="text-align:center;">Valor Venda</th>
                      <th style="text-align:center;">Categoria</th>                      
                      <th style="text-align:center;">Ação</th>
                    </tr>
                </thead>
                <tbody>
                  
                <?php if(!empty($prods)){

                  foreach ($prods as $prd) {

                  //Variável criada para carregar informção dos Dados para o Botão
                  $dataprd = $prd->idProdutos."*".$prd->cod_interno."*".$prd->descricao."*".$prd->valor_venda."*".$prd->categoria;            

                  echo '<tr>';
                    echo '<td width="20" height="10" style="text-align:center;">'.$prd->cod_interno.'</td>';
                    echo '<td width="250" height="10" style="text-align:left;">'.$prd->descricao.'</td>';
                    echo '<td width="20" height="10" style="text-align:right;">'.$prd->valor_venda.'</td>';
                    echo '<td width="20" height="10" style="text-align:center;">'.$prd->categoria.'</td>';

                    echo '<td width="20" style="text-align:center;">            
                            <button type="button" class="btn btn-success btn-prod" 
                              style="margin-right: 2%; padding: 5px 7px;" title="Selecionar Fornecedor"
                              value="'. $dataprd.'" >
                              <span class="fa fa-check"></span>
                            </button></td>';

                    echo '</tr>';
                        
                  }//Fim do Foreach 
                }//Fim do IF ?>
                  
                </tbody>
              </table>
            </div>

            <div class="modal-footer" style="text-align:center; background:#BBAAAA;">
              <button type="button" class="btn btn-danger pull-center" data-dismiss="modal">Voltar</button>
            </div>

        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div>

 

Código em JAVASCRIPT que uso para AGREGAR o Produto na Tabela

/*---Função para Capturar o Produto selecionado na Modal---*/
$(document).on("click",".btn-prod",function(){
  prd = $(this).val();
  infoprd = prd.split("*");
  $("#idProdutos").val(infoprd[0]);
  $("#cod_interno").val(infoprd[1]);
  $("#descricao").val(infoprd[2]);
  $("#valor_venda").val(infoprd[3]);            
  $("#categoria").val(infoprd[4]);  
  $("#modal_prod").modal("hide");

  //Função para Atualizar o Status do Botão
  statusLimparAgregar()
});


//Função para AGREGAR o Item selecionado na Tabela
$("#btn-agregar").on("click",function(){   
  var dsct = document.getElementById("dsct").value;
  var vlrtotal = document.getElementById("vlrtotal").value;           

  if(dsct == "" || vlrtotal == ""){
    alert("Atenção! Nenhuma QUANTIDADE ou VALOR foi informado.");
  } else {
    html = "<tr>";
    html += "<td width='10%' height='10'><input type='hidden' name='id_prds[]' value='"+infoprd[0]+"'>"+infoprd[1]+"</td>";
    html += "<td width='42%' height='10'><input type='hidden' name='descricao[]' value='"+infoprd[2]+"'>"+infoprd[2]+" - <strong style='font-size:12px;'>CATEGORIA: </strong> "+infoprd[4]+"</td>";
    html += "<td width='10%' height='10' style='text-align:center;'><input type='hidden' name='vda[]' value='"+infoprd[3]+"'>"+infoprd[3]+"</td>";
    html += "<td width='12%' height='10' style='text-align:center;'><input type='hidden' name='desc[]' value='"+dsct+"'>"+dsct+"</td>";            
    html += "<td width='14%' height='10' style='text-align:right;'><input type='hidden' name='vlrtotal[]' value='"+vlrtotal+"'>"+vlrtotal+"</td>";       
    html += "<td width='10%' height='10' style='text-align:center;'>"+
      "<button type='button' class='btn btn-danger btn-remove-produto' style='padding: 2px 5px;' title='Remover Item da Lista'>"+
      "<span class='fa fa-remove'></span></button></td>";
    html += "</tr>";

    $("#tbventas tbody").append(html);

    //Função para Somar os Itens do Lançamento
    somar(); 
    itens();              

    $("#btn-agregar").val(null);
    $("#descricao").val(null);
    $("#cod_interno").val(null);    
    $("#valor_venda").val(null);            
    $("#categoria").val(null);    
    $("#dsct").val(null);         
    $("#vlrtotal").val(null);     

    //Desabilita Buttons
    document.getElementById("btn-limp").disabled = true;                                     
    document.getElementById("btn-agregar").disabled = true;                   
  }         

});    

 

Grato,

 

Cesar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By mamotinho
      Olá, estou com problemas, minha data está atualizando porém eu clico em um produto ele exibe o tempo sem atualizar . quando eu mudo de produto ele mostra os dois valores exemplo
      Produto 1: tem duraçao de: 1 dia e 13:023 PM
      Produto 2: tem duraçao de: 0 dia e 23:023 PM

      Quando eu clico no produto 1 ele exibe normalmente, porém quando mudo para o produto 2 ele fica atualizando o valor do dia do produto 1 e do produto 2 sempre mudando.
      segue abaixo como está o codigo

      JavaSCRIPT
       
      function anooo(mes,dia,h,m){ var mess = mes; var dias = dia; var hss = h; var mss = m; // Set the date we're counting down to var countDownDate = new Date(""+mess+" "+dias+", 2020 "+hss+":"+mss+":00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var dayss = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = dayss; document.getElementById("hrs").innerHTML = hours; document.getElementById("minus").innerHTML = minutes; document.getElementById("secs").innerHTML = seconds; this.remove(countDownDate); // If the count down is over, write some text if (distance < 0) { clearInterval(x); } }, 1000); } AQUI É O CHAMADO:
       
      <? if($result->Discount>=1){ $Month = date('M', strtotime($result->DateDiscount)); $Days = date('d', strtotime($result->DateDiscount)); $Hours = date('H', strtotime($result->DateDiscount)); $Minutes = date('i', strtotime($result->DateDiscount)); echo "<script>anooo('".$Month."','".$Days."','".$Hours."','".$Minutes."')</script>"; //echo "<script>alert('".$Month."')</script>"; ?> <ul class="time_sell remain_time"> <li> <dl> <dt class="blind">남은시간</dt> <dd> <span class='n_date day' id='days'></span> <span class='date'>일</span> <span class='n_time hour' id='hrs'></span> <span class='n_time minute' id='minus'></span> <span class='n_time second' id='secs'></span> <div id="countdown"></div> </dd> </dl> </li> </ul> <? } ?> eu já tentei de tudo mais sempre que mudo de produto ele exibe a data dos produtos anteriores em loop. a cada atualização do setInterval
    • By WagnerFilho
      Olá,
      Eu escrevi um exemplo de trabalho de um problema real que estou tentando resolver
      Criei um objeto simulando o retorno json que recebo do banco de dados.
       
      Eu preciso:
      Listar contratos e lotes de contratos Ao entrar na função, marcar o último `lote` do `contrato` como selecionado no Dropdown List Ao entrar na função, exibir as faturas `lote` e `contrato` selecionado no elemento `ul-invoices` Carregar e exibir as respectivas `faturas` ao alterar o `lote`  
      Problemas:
      Não consigo listar as `faturas` do último `lote` do `contrato selecionado` ao carregar a função. Não consigo listar as `faturas` ao `alterar` o `lote` do `contrato`  
      Observação:
      Ao entrar na página, já tenho as informações do contrato selecionado; no caso do exemplo, deixei o contrato com o ID 1. No exemplo estou usando a classe `in-attendance` para definir o contrato selecionado Estou usando `Revealing Pattern` e quero manter este padrão  
      Tradução
      contracts = contratos batches = lotes invoices = faturas  
      Exemplo
      <html> <label id="contracts"></label> <ul id="ul-invoices"></ul> <pre></pre> <script> let lblContract = document.querySelector('#contracts'); let UlInvoices = document.querySelector('#ul-invoices'); let contractInAttendance = 1; const objectContract = { id: 1, nome: 'wagner', contracts: [{ id: 1, contract: '123456', batches: [ { id: 1, contract_id: 1, batch: '1', invoices: [ { value: 10, batch_id: 1, }] }, { id: 2, contract_id: 1, batch: '2', invoices: [{ value: 10, batch_id: 2, }] }] }, { id: 2, contract: '246789', batches: [ { id: 3, contract_id: 2, batch: '1', invoices: [ { value: 20, batch_id: 3, }] }] }] } const revelling = (function() { function privateInit() { const contracts = objectContract.contracts; let contractFilteredById = contracts.filter(contract => contract.id === contractInAttendance); for (const contract of contracts) { const selectedContract = contract.id === contractFilteredById[0].id ? 'in-attendance' : ''; let htmlForBatchsOptions = contract.batches.map(batch => `<option value=${batch.id}>${batch.batch}</option>`).join(''); lblContract.innerHTML += `<div class="contract-${selectedContract}" style="display: flex;"> <div id="contract-${contract.contract}" data-contract="${contract.id}" class="loren"> <span>${contract.contract}</span> </div> <div class="ipsulum" style="margin-left: 5px;"> <select class="sel-batch"> ${htmlForBatchsOptions} </select> </div> </div>`; const batchOption = lblContract.querySelector('select.sel-batch'); batchOption.addEventListener('change', getInvoices); //batchOption.value = 2; } } function getInvoices() { const batchValue = event.target.value console.log(batchValue); //console.log(this.value); } return { init: privateInit() } })(); revelling.init; </script> </html>  
    • By mamotinho
      Olá, gostaria de sabe como posso fazer uma contagem regressiva apartir de um registro em meu banco de dados eu tentei montar um código da seguinte forma:

       
      <? $DateGET = date('m/d/Y H:i A', strtotime($result->DateDiscount)); ?> <script> var valueDate = <?=$DateGET?>; var end = new Date(valueDate); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById("countdown").innerHTML = "EXPIRED!"; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById("countdown").innerHTML = "<span class='n_date day' id='days'>" + days + "</span><span class='date'>일</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time hour' id='hrs'>" + hours + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time minute' id='minus'>" + minutes + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time second' id='secs'>" + seconds + "</span>"; } timer = setInterval(showRemaining, 1000); </script> Mais infelizmente não passou a data registrada no banco de dados, alguém teria ideia de como posso ta fazendo.
    • By everton_araujo
      Boa noite pessoal, tudo bem?
      Gostaria de saber como mudo a propriedade target="_blank"
       para target="_system" via javascript. Muito obrigado.
       
      <a href="https://bemdiario.com/wp-content/uploads/2020/06/água-da-rocha.pdf" target="_blank" rel="noopener noreferrer nofollow" download="" class="jsx-936791898 eape-item-linkWrapper"><div class="jsx-936791898 eape-item-link">Baixar PDF</div></a>
    • By lumbarque_Oficial
      Tô a procura de uma equipe para participar 
       
      Sou programador, spriter ou músico
       
      meu nome é Gabriel , tenho 18 anos e já participei de uns grupo pequenos
       
      Sei de tudo um pouco mas a área que eu tô mais querendo botar a mão na massa atualmente é programação
       
      ~ alguém? ~
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.