Jump to content
kenio Junio

Alterar a ordem de exibição das linha e salvar ordem no BD

Recommended Posts

Estou com um serio problema é não achei artigos ou posts sobre o assunto.

Bem, queria saber como consigo fazer um draggable que ao alterar a posição das linhas ele altere no banco de dados.

Exemplo:  tenho um lista, cada item da lista tem um id que vem do banco de dados, ai altero o item 6 (que tem id = 6) para o lugar do 5 (que tem id = 5), ai o 5 consequentemente vai para o lugar do 6 certo? ai apos eu alterar queria que modificasse no banco de dados o id deles para que continue na posição alterada 

 5acde3353ca42_SemTtulo-1.jpg.f695a6930f7726c51cca0f2e37140b5d.jpg

Share this post


Link to post
Share on other sites

Bom dia, 

 

você vai precisar de um campo para ordenação no banco e alguma rotina para fazer sua atualização de acordo com o callback do draggable, ela pode ser ajax ou um submit padrão no fim das atualizações.

  • Confuso 1

Share this post


Link to post
Share on other sites

A imagem postada como exemplo é do Sortable do jQueryUI:

https://jqueryui.com/sortable/

 

Se você for na documentação da API, encontrará o evento change. Esse evento é executado toda a vez que a ordem é alterada. O que você pode fazer é realizar uma requisição ajax que salve a nova ordem dos elementos, todas as vezes em que ele for disparado.

 

Ou, adicionar um botão submit e submeter como um formulário normal e salvar a nova ordem.

  • Gostei 1

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 brunoogm
      Pessoal tenho o seguinte select no mysql
       
      SELECT SUM(ValorTotal) as Total_Mes, YEAR(DataPedido) as Ano,
                                                      CASE extract(MONTH from DataPedido)
                                                      WHEN 1 THEN 'Janeiro'
                                                      WHEN 2 THEN 'Fevereiro'
                                                      WHEN 3 THEN 'Março'
                                                      WHEN 4 THEN 'Abril'
                                                      WHEN 5 THEN 'Maio'
                                                      WHEN 6 THEN 'Junho'
                                                      WHEN 7 THEN 'Julho'
                                                      WHEN 8 THEN 'Agosto'
                                                      WHEN 9 THEN 'Setembro'
                                                      WHEN 10 THEN 'Outubro'
                                                      WHEN 11 THEN 'Novembro'
                                                      WHEN 12 THEN 'Dezembro'
                                                  END AS mes
                                                  from comanda Where Year(DataPedido) = year(curdate()) and CodigoSituacao = 2 OR Year(DataPedido) = (year(now())-1) and CodigoSituacao = 2
                                                  group by mes, YEAR(DataPedido)
                                                  limit 0,12
       
      E ele me retorna a seguinte situação : 
       
      Total_Mes      Ano         mes
      555.00            2018       Agosto
      310.00            2019       Agosto
      150.00            2019       Fevereiro
      777.00            2018       Janeiro
      100.00            2019       Janeiro
      70.00             2019         Maio
       
      E no caso eu gostaria de omitir os registros que NÃO se repetem, ou seja, retirar da consulta os resultados onde o mês só apareça uma vez (maio e fevereiro)
      Preciso que o resultado seja o seguinte :
       
      Total_Mes      Ano         mes
      555.00            2018       Agosto
      310.00            2019       Agosto
      777.00            2018       Janeiro
      100.00            2019       Janeiro
       
      Alguém tem uma  ideia de como fazer isso ?
    • By Alan Arnese
      Bom dia pessoal
       
      Estou estruturando um slideshow puro em css3 + html mas percebi que vou precisar de jquery para algumas funções, eu vinculei radios com lables para a navegação do menu e consegui montar em jquery o efeito "active" para quando é clicado em um botão, tudo funcionando perfeitamente e responsivamente nos browsers.

      Só que agora eu preciso que os slides passem automaticamente e vinculados a navegação, trocando ambos da direta pra esquerda, mantendo o efeito "active" na navegação com harmonia com as imagens, todos os exemplos que saí atrás na internet não vinculam radios com lables para navegação, então isso está me causando uma dificuldade além do que esperava, desde já agradeço a ajuda de vocês
       
      Segue abaixo os códigos
      Index.html
      <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="slidershow middle"> <div class="slides"> <input type="radio" name="r" id="r1" checked> <input type="radio" name="r" id="r2"> <input type="radio" name="r" id="r3"> <input type="radio" name="r" id="r4"> <input type="radio" name="r" id="r5"> <div class="slide s1"> <a href="#"> <img src="1.jpg" alt=""></a> </div> <div class="slide"> <a href="#"><img src="2.jpg" alt=""></a> </div> <div class="slide"> <a href="#"><img src="3.jpg" alt=""></a> </div> <div class="slide"> <a href="#"><img src="4.jpg" alt=""></a> </div> <div class="slide"> <a href="#"><img src="5.jpg" alt=""></a> </div> </div> <div class="navigation"> <label for="r1" class="bar active"></label> <label for="r2" class="bar"></label> <label for="r3" class="bar"></label> <label for="r4" class="bar"></label> <label for="r5" class="bar"></label> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script> <script type="text/javascript"> $(document).on('click', 'label', function() { $(this).addClass('active').siblings().removeClass('active') }) </script> </body> </html>  style.css
       
      *{ margin: 0px; padding: 0px;} .slidershow{ width: 100%; height: 100%; overflow: hidden; position: absolute; max-height: 70%; } .middle{ position: absolute; } .navigation{ position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; } .bar{ width: 60px; height: 5px; background-color: #c1c0c0; margin: 6px; cursor: pointer; transition: 0.4s; } .bar:hover{ background: #ddcf19; } .bar.active{ background: #ddcf19; } input[name="r"]{ position: absolute; visibility: hidden; } .slides{ width: 500%; height: 100%; display: flex; } .slide{ width: 20%; transition: 0.6s; } .slide a{ display: block; width: 100%; height: 100%; cursor: pointer;} .slide img{ width: 100%; height: 100%; object-fit: cover; } #r1:checked ~ .s1{ margin-left: 0; } #r2:checked ~ .s1{ margin-left: -20%; } #r3:checked ~ .s1{ margin-left: -40%; } #r4:checked ~ .s1{ margin-left: -60%; } #r5:checked ~ .s1{ margin-left: -80%; } Basicamente quero como o link abaixo mas vinculando meus controles de navegação
       
      Exemplo
    • By lesilva
      Então pessoal estou precisando fazer um consulta no banco e comprar os dados das tabelas e ver o que não se encaixa.
       
      A estrutura é essa tabela principal pessoa, quando cria uma pessoa ele popular o id na tabela pessoa, parte, pessoa_fisica ou pessoa_juridica, preciso verificar se o ID de pessoa está em algum dessas tabelas caso não esteja em algum delas o sistema deve retornar o ID para que possa ser verificar visto que ele é um órfão.
    • By yale03
      Ola eu estou com umas idéias e gostaria de saber como funciona um sistema de pagamento de boleto online. Por exemplo um site que você insira o código de barras e ele faça o pagamento do boleto online, tudo isso automatizado. Para entender melhor, o usuário entraria no site e digitaria o código de barras do boleto e outras informações necessárias, após isso ele iria fazer o pagamento pelo cartão de crédito ou alguma transferência (Sugestão de api do mercado pago ou pagseguro) após confirmação do pagamento o boleto seria pago automaticamente e enviado o comprovante pelo e-mail. Eu não tenho muita noção se existe algum ferramente que auxilie isso e nem por onde começa para desenvolver tal sistema. Alguém poderia me dar uma luz? Se alguém não entender eu explico novamente, mas basicamente é isso mesmo você pagar um boleto sem precisar ir na lotérica por meio de cartão de crédito/débito ou transferência.
      Um exemplo de site que encontrei foi esse: https://paguecombitcoin.com/pagar-boleto-com-bitcoin Porém ao invés de pagar com bitcoins seria com Reais.
    • By juh2425
      Boa noite pessoal
      estou com um dificuldade em como faço uma validação de data atual no caso não pode ser permitido data maior que a data atual do dia ja fiz da data em branco alguem poderia de auxilar:
       
       <script>
                  $("#btn__Gravar").click(function () {
                      if ($("#tipo_movimento").val().trim() == "") {
                          alert("Selecionar o tipo do movimento");
                          return false;
                      }
                      if ($("#tipo_movimento").val().trim() == "") {
                          alert("Selecionar a categoria do movimento");
                          return false;
                      }
                      if ($("#tipo_movimento").val().trim() == "") {
                          alert("Prencher o campo data movimento");
                          return false;
                      }
                      if ($("#valor_movimento").val().trim() == "") {
                          alert("Prencher o campo data movimento");
                          return false;
                      }
                  })
              </script>
×

Important Information

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