Ir para conteúdo
Bisnaguitos

Melhor forma de armazenar o id da db para fazer uma requisição

Recommended Posts

Olá, queria saber qual é a melhor forma de armazenar o id vindo da db para usar posteriormente para fazer outra requisição, delete ou put por exemplo. Segue um exemplo:

A parte do jquery com requisição pelo ajax:

        $("form").on("submit", ()=>{
            $.ajax({
               type: "DELETE",
               url: "http://localhost:3000/admin/users",
                data: {user: >>Aqui eu quero transmitir o valor do id que veio na bd<< }
                ,success: (data)=>{
                console.log("Tudo ok");
                }
            });
        });

            <tbody>
                <% for(var i=0; i<data.length;i++){ %>
                <tr>
                <th scope="row"><%=i%></th>
                <td class="user"><%= data[i].user; %></td>
                <td><%= data[i].password; %></td>
                  <td><i class="fas fa-user-minus"></i>>>Quando clicar neste botão quero transmitir o id ou no caso o user que veio da db mas não sei qual a melhor forma de armazenar o id da row. Não acho muito seguro armezar em algum atributo HTML.</td>
                </tr>
                <% } %>
                <tr>
            </tbody>

E acima pegando os valores pelo ejs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por MatheusH
      Olá, alguém pode me ajudar? Fiz um formulário que enviará as informações via ajax no banco de dados. Ocorre tudo bem sem erro, mas não cria nada no banco de dados. 
      Obs: todas a conexão com o banco está certo.
       
      Form.html
      <html> <head> <title> </title> </head> <body> <form id="formulario_ajax"> <label>Nome</label> <input type="text" name="nome"> <label>Cidade</label> <input type="text" name="cidade"> <label>CEP</label> <input type="text" name="cep"> <input type="submit" name="Enviar"> </form> <script src="jquery.js"></script> <script> $('#formulario_ajax').submit(function(e){ e.preventDefaut(); var formulario = $(this); var retorno = inserirDados(formulario) }); function inserirDados(dados){ $.ajax({ type:"POST", data:dados.serialize(), url:"executa.php", async:false }).then(sucesso, falha); function sucesso(data){ console.log(data); } function falha(){ console.log("erro"); } } </script> </body> </html>  
      executa.php
      <?php $server = "localhost"; $login = "root"; $senha = "root"; $db = "formulario"; $conn = mysqli_connect($server, $login, $senha, $db); $nome = $_POST['nome']; $cidade = $_POST['cidade']; $cep = $_POST['cep']; $sql = "INSERT INTO cadastro"; $sql .= "(nome, cidade, cep)"; $sql .= "VALUES"; $sql .= "('$nome', '$cidade', '$sql')"; if(mysqli_query($conn, $sql)){ echo "Inserido com sucesso!"; }else{ echo "Error!"; } mysqli_close($conn); ?>  
      Alguém sabe porque não ta funcionando?ou se tem algum erro no código?
    • Por Rogerio Pancini
      Boa noite pessoal.
       
      Há duas partes de uma tela que estão prontas, funcionando, mas não corretamente.
      Nessa parte, faço um cálculo.
      Sem a máscara de Real, ótimo.
      Se coloco a máscara 'valor'no input, retorna NaN.
       
      /****** maskMoney ******/ $(function(){ $(".valor").maskMoney({symbol:'R$ ', showSymbol:true, thousands:'.', decimal:',', symbolStay: true}); }) /****** Função percentual ******/ function funcao_percentual(valor_1, destino, percentual) { $(valor_1).on("click", function() { $(destino).val(''); }); function arredondar(valor,casas){ var novo = Math.round(valor*Math.pow(10,casas))/Math.pow(10,casas); return(novo); } $(valor_1).blur(function() { valor = $(this).val(); porcentagem = percentual; // PORCENTAGEM A SER ADICIONADA total = (parseFloat((valor*porcentagem)/100)); $(destino).val(arredondar(total, 2)); }); } /****** Função subtrair ******/ function funcao_subtrair(valor_1, valor_2, inicio, destino) { $(inicio).on("click", function() { $(destino).val(''); }); function arredondar(valor,casas){ var novo = Math.round(valor*Math.pow(10,casas))/Math.pow(10,casas); return(novo); } $(inicio).blur(function() { valor_1_v = $(valor_1).val(); valor_2_v = $(valor_2).val(); total = (parseFloat((valor_1_v-valor_2_v))); $(destino).val(arredondar(total, 2)); }); } /****** Percentual de Provisão - Royalties (franchising) ******/ funcao_percentual("#valor", "#provisao_royalties_franchising", 39.85) /****** Percentual de Provisão Fundo Propaganda ******/ funcao_percentual("#valor", "#provisao_fundo_propaganda", 3) /****** Subtração de Provisão - Royalties ( franchising) ******/ funcao_subtrair("#provisao_royalties_franchising", "#provisao_fundo_propaganda", "#valor", "#provisao_royalties_franchising_2") E o outro BO é quando somo datas. Dá um resultado que não tem nada haver com a planilha que tenho de modelo:
       
      /****** Função calcular a data ******/ function funcao_calcular_data(data_inicial, data_final, dias) { $(data_inicial).blur(function() { $(data_inicial).on("click", function() { $(data_final).val(''); }); var data_ini = $(data_inicial).val(); var date = new Date(data_ini); date.setDate(date.getDate() + dias); var futDate=date.getDate() + "/" + date.getMonth() + "/" + date.getFullYear(); $(data_final).val(futDate); }); } /****** 1º vencimento ******/ funcao_calcular_data("#data_emissao", "#1_venc", 28) /****** 2º vencimento ******/ funcao_calcular_data("#data_emissao", "#2_venc", 42) /****** 3º vencimento ******/ funcao_calcular_data("#data_emissao", "#3_venc", 56) Se alguém puder colaborar com alguma luz.
      Confesso que preciso melhorar ainda mais em Jquery, mas essas funções ficaram boas para a necessidade.
      Faltam apenas esses ajustes.
       
      Obrigado!
    • Por Carcleo
      jQuery:
          // JavaScript Document          $(document).ready(function (e) {                  $("#idPastor").on("change", function () {                          $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosRedes.php",                 type: "POST",                 dataType: "json",                 data: {                       idPastor: $("#idPastor").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idRede').find('option').remove();                                          if (result == null){                         $("#idRede").append("<option value=>Sem Redes</option>");                     } else {                         $("#idRede").append("<option value=>Escolha a Rede</option>");                         result.forEach(function(option){                             $("#idRede").append("<option value=" + option["idRede"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idRede").on("change", function () {                                                $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosRegioes.php",                 type: "POST",                 dataType: "json",                 data: {                       idRede: $("#idRede").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idRegiao').find('option').remove();                     if (result == null){                         $("#idRegiao").append("<option value=>Sem Regiões</option>");                     } else {                         $("#idRegiao").append("<option value=>Escolha a Região</option>");                                                 result.forEach(function(option){                             $("#idRegiao").append("<option value=" + option["idRegiao"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idRegiao").on("change", function () {                                                       $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosAreas.php",                 type: "POST",                 dataType: "json",                 data: {                       idRegiao: $("#idRegiao").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                             $('#idArea').find('option').remove();                                 if (result == null){                             $("#idArea").append("<option value=>Sem Áreas</option>");                     } else {                                     $("#idArea").append("<option value=>Escolha a Área</option>");                             result.forEach(function(option){                             $("#idArea").append("<option value=" + option["idArea"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idArea").on("change", function () {                                                   $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosSetores.php",                 type: "POST",                 dataType: "json",                 data: {                       idArea: $("#idArea").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idSetor').find('option').remove();                                             if (result == null){                         $("#idSetor").append("<option value=>Sem Setores</option>");                     } else {                         $("#idSetor").append("<option value=>Escolha a Setor</option>");                                 result.forEach(function(option){                             $("#idSetor").append("<option value=" + option["idSetor"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idSetor").on("change", function () {                                                       $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosCelulas.php",                 type: "POST",                 dataType: "json",                 data: {                       idSetor: $("#idSetor").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idCelula').find('option').remove();                             if (result == null){                         $("#idCelula").append("<option value=>Sem Celulas</option>");                     } else {                         $("#idCelula").append("<option value=>Escolha a Célula</option>");                                 result.forEach(function(option){                             $("#idCelula").append("<option value=" + option["idCelula"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                   }); Esse script, faz a população via $.ajax do jQuery de combos no form.
      Tudo funciona bem.
      Mas considere o o form abaixo:

       
      Imagine o que o usuário preencheu todos os campos e de repente resolve tocar a opção do select de Redes como está na figura.
      Porém, a opção Rede 2 NÃO possui Regiões Cadastradas ainda.
      No entanto, note que todos os campos abaixo estão preenchidos e isso não negaria um possível submit do form com dados errados?
      Ainda,  imagine a situação onde a opção Rede 2 POSSUI outas Regiões Cadastradas o que comprometeria a escolha dos selects que seguem
       
      Como contornar esse problema?
       
    • Por igoraraujowd
      Pessoal,
       
      Estou trabalhando em um teste A/B e preciso fazer uma modificação no código do menu. Estou utilizando o Mega Site Menu e preciso que o site fique sempre com o hamburger menu ainda que em desktop.
      https://codyhouse.co/gem/css-mega-site-navigation
       
      Pra fazer isso, eu precisaria fazer 2 alterações no código abaixo:
      https://ghostbin.com/paste/fjy3t
      1 - Alterar o valor da variável MqL
      2 - Anular as linhas abaixo na função moveNavigation:
      //navigation.insertBefore('.menu--mobile-header-cta'); //$('.nav-overlay').removeClass('is-visible'); A questão é que eu não posso fazer essas alterações diretamente no código e precisaria inserir algo em tags <script> que sobscrevesse a função e alterasse os pontos acima. É possível?
    • Por dieef5
      Boa noite pessoal,
       
      Estou com um problema e gostaria da ajuda dos amigos:
      Em uma página de escolha de forma de pagamento gostaria de fazer aparecer uma div que está oculta quando seleciono a opção pelo radio button.
      Funciona ok clicando direto no radio button, porém o radio button também é selecionado ao clicar sobre o nome da opção na DIV (exemplo: Boleto Bancário). E quando clico sobre o nome da opção a DIV oculta não aparece.
       
      Gostaria de exibir a DIV oculta tanto ao clicar sobre o nome Boleto bancário como ao clicar no radio button.
       
      o html é mais ou menos assim:
      <div class="selection row"> <div class="col-xs-6 text-left"><strong>Boleto Bancário</strong> 10% de Desconto</div> <div class="col-xs-6 text-right"><input type="radio" name="payment" value="boleto" checked="checked" /></div> </div> <div id="campos"> Exibe instrução <div  
      Meu jquery está assim:
      $("input[name=payment]").change(function(data){ var selection = $("input[name=payment]:checked").val(); console.log(selection); if(selection != "boleto") $("#campos").hide(); else $("#campos").show('fast'); }); $("#campos").hide();  
      VLw pessoal..
       
×

Informação importante

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