Ir ao conteúdo

PHP (Drag and Drop) Alterar ordem dos # tambem


Ir à solução Resolvido por Leonardo0308,

Posts recomendados

Postado

 

Usei um código de um tutorial na internet sobre listas que podem ser alteradas e salvas em uma database php mysql, deu tudo certo só que as ordem dos números na coluna ''#'' não altera se mudar a ordem do resto de itens da tabela

 

https://prnt.sc/m4xdx0

 

O que eu queria fazer era que os números da coluna ''#'' mudassem de acordo com a posição de certo item da lista, tipo se o item era terceiro colocado, e for pra quinto, o numero da coluna ''#'' iria de #3 para #5

 

Link da demo do código ja funcionando: http://demo.itsolutionstuff.com/demo/demo-php-dynamic-drag-and-drop-table-rows-using-jquery-ajaxexample.html

códigos:

 

HTML + PHP da pagina que fica a tabela 

 

<table class="table table-bordered">
            <tr>
                <th>#</th>
                <th>Name</th>
                <th>Defination</th>
            </tr>
            <tbody class="row_position">
            <?php


            require('db_config.php');


            $sql = "SELECT * FROM sorting_items ORDER BY position_order";
            $users = $mysqli->query($sql);
            while($user = $users->fetch_assoc()){


            ?>
                <tr  id="<?php echo $user['id'] ?>">
                    <td><?php echo $user['id'] ?></td>
                    <td><?php echo $user['title'] ?></td>
                    <td><?php echo $user['description'] ?></td>
                </tr>
            <?php } ?>
            </tbody>
        </table>

SCRIPT  da pagina que fica a tabela (mesma pagina do codigo acima)

 

<script type="text/javascript">
    $( ".row_position" ).sortable({
        delay: 150,
        stop: function() {
            var selectedData = new Array();
            $('.row_position>tr').each(function() {
                selectedData.push($(this).attr("id"));
            });
            updateOrder(selectedData);
        }
    });


    function updateOrder(data) {
        $.ajax({
            url:"ajaxPro.php",
            type:'post',
            data:{position:data},
            success:function(){
                alert('your change successfully saved');
            }
        })
    }
</script>

AjaxPro.php

<?php 


require('db_config.php');


$position = $_POST['position'];


$i=1;
foreach($position as $k=>$v){
    $sql = "Update sorting_items SET position_order=".$i." WHERE id=".$v;
    $mysqli->query($sql);


	$i++;
}


?>

 

  • Solução
Postado

Boa tarde @MarcosCM

 

A coluna "#" que você menciona no caso, seria o ID que se encontra dentro da tabela "sorting_items". Para você colocar números ordenados, você pode criar uma variável dentro do loop para fazer essa contagem.

 

Por exemplo:

 

  

<?php
            require('db_config.php');

            $sql = "SELECT * FROM sorting_items ORDER BY position_order";
            $users = $mysqli->query($sql);
			
            $cont = 1; //Declara o contador

            while($user = $users->fetch_assoc()){

            ?>
                <tr  id="<?php echo $user['id'] ?>">
                    <td><?php echo $cont ?></td> <!-- Mostra o contador -->
                    <td><?php echo $user['title'] ?></td>
                    <td><?php echo $user['description'] ?></td>
                </tr>
            <?php  
			
                $cont++; //soma +1 ao contador
            }

           ?>

 

  • Amei 1
  • Moderador
Postado

@MarcosCM Qual foi a solução encontrada?  O post acima resolveu?

Se sim,  por gentileza, marque como resolvido  clicando no icone de bolinha com V, caso contrário, por gentileza, poste como solucionou, para futuras pesquisas dos usuários.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

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!