WP0034
Ordenação com JQuery Sortable - Passo a Passo
Assista Agora totalmente grátis
1
Autor: Alex Rosa
Como fazer Ordenação com JQuery Sortable e Banco de Dados - Passo a Passo.
Código
Conteúdo Extra
Bibliotecas JQuery e JQuery UI
<script src="//code.jquery.com/jquery-1.12.4.js"></script> <script src="//code.jquery.com/ui/1.12.0/jquery-ui.js"></script></pre>
Inicializar a API
<script>$("#sortable").sortable();</script>
index.php
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="//code.jquery.com/jquery-1.12.4.js"></script> <script src="//code.jquery.com/ui/1.12.0/jquery-ui.js"></script> </head> <body> <h1>JQUERY SORTABLE</h1> <h2>DESCOMPLICANDO A ORDENAÇÃO COM JQUERY</h2> <div id="sortable"> <?php include 'conecta.php'; $conn = new conecta(); $resultados = $conn->getimagens(); foreach($resultados as $item){ echo '<img src="imagens/'.$item["imagem"].'" id="'.$item["id"].'"/>'; } ?> </div> <p>Arraste as imagens para ordenar</p> <script> $("#sortable").sortable({ update: function(){ var lista = $('#sortable').sortable('toArray'); $.post("ordenaImagens.php",{imagens:lista}, function(){ alert('Sucesso'); }); } }); </script> </body> </html>
conecta.php
<?php include_once 'config.php'; class conecta extends config{ var $pdo; function __construct(){ $this->pdo = new PDO('mysql:host='.$this->host.';dbname='.$this->db, $this->usuario, $this->senha); } function getimagens(){ $stmt = $this->pdo->prepare('SELECT * FROM imagens order by ordem'); $run = $stmt->execute(); $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); return $rs; } function ordenarImagens($pos, $id){ $stmt = $this->pdo->prepare("UPDATE imagens set ordem = :pos where id = :id"); $stmt->bindValue(":pos",$pos); $stmt->bindValue(":id",$id); $run = $stmt->execute(); } } ?>
ordenaImagens.php
<?php include 'conecta.php'; $conn = new conecta(); $imagens = $_POST["imagens"]; $pos = 0; foreach($imagens as $imagem){ $conn->ordenarImagens($pos,$imagem); $pos++; } ?>
config.php
<?php class config{ var $host = 'hostDB'; var $usuario = 'userDB'; var $senha = 'senhaDB'; var $db = 'nomeDB'; } ?>