Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, estou fazendo um sistema de album no estilo facebook e orkut, utilizando drag and drop (JQuery) e PHP (+SQL) para gravar no banco de dados a nova posição das fotos. Acontece que estou com problemas comparar as arrays das fotos e da listagem do jquery. Alguém poderia me dar uma luz? Seguem os codigos
[table=Banco de dados]
[tr][td]ID[/td][td]FOTOS[/td][td]ORDEM[/td][/tr]
[tr][td]1[/td][td]foto1.jpg-foto2.jpg-foto3.jpg-foto4.jpg-foto5.jpg-foto6.jpg[/td][td]1-2-3-4-5-6[/td][/tr]
[/table]
Página index.php
<?php
require("db.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Drag and Drop</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.7.1.custom.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#contentLeft ul").sortable({
opacity: 0.6,
cursor: 'move',
scroll: false,
update: function(){
var ordem = $("#contentLeft ul").sortable("serialize");
alert(ordem);
$.ajax({
type: "POST",
url: "processo.php",
data: "acao=update"+ordem,
});
}
});
});
</script>
<style type="text/css">margin: 0px;
padding: 0px;
border: 0px;
}
#contentLeft ul li{
float: left;
position: relative;
display: inline;
margin-left: 10px;
}
</style>
</head>
<body>
<div id="contentLeft">
<ul>
<?php
$fotos = mysql_result($result, 0, 'fotos');
$fotos = explode("-", $fotos);
$num = count($fotos);
for($i=0;$i<$num;$i++):
echo "<li id='far_$i'><img src='$fotos[$i]' /></li>";
endfor;
?>
</ul>
</div>
</body>
</html>
Página processo.php que recebe o jquery
<?php
require("db.php");
$acao = mysql_real_escape_string($_POST['acao']);
$far = $_POST['far'];
if($acao == "update"):
$arr = array();
foreach($far as $ord):
$ord = $ord+1;
$ord = "$ord-";
$arr[] = $ord;
endforeach;
$count = count($arr);
for($i=0;$i<$count;$i++):
$ins .= $arr[$i];
endfor;
$ins = substr($ins, 0, -1);
$query = mysql_query("UPDATE dragdrop SET ordem='$ins' WHERE id=1") or die(mysql_error());
endif;
?>
Como devo fazer? Inserir as fotos separadas no banco? Comparar o array novo da ordem com o array da ordem atual? Estou precisando fazer isso e não estou conseguindo achar uma solução! Me ajudem por favor! :ermm:
Obrigado!
Carregando comentários...