Ir ao conteúdo
  • Cadastre-se

PHP (Drag and Drop) Alterar ordem dos # tambem


Ir à solução Resolvido por Leonardo0308,

Posts recomendados

 

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++;
}


?>

 

Link para o comentário
Compartilhar em outros sites

  • Solução

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
Link para o comentário
Compartilhar em outros sites

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!