bonjour à tous ,

étant débutant en ajax, je tente d'enregistrer dans ma base les positions de mes images , mais cela ne fonctionne pas ....

j'ai fais plusieurs tentative , mais je n'arrive pas à résoudre se problème du à ma méconnaissance ....

ce petit fichier permet d'afficher des photos et de pouvoir les déplacer en drag dans l'ordre que l'on souhaite .

voilà ce que j'ai essayé de faire mais sans succès merci d'avance pour votre aide :-) )

formulaire :

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans titre</title>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<!-- Styles de votre liste -->        
<style type="text/css" media="all">

     li{
  display: inline-block;
  margin-left: 10px;
  width: 10%;
}
</style>

</head>

<body>
<ul id="sortable" > 
<?php
include('connect.php');
$Id_bien = ('14');

$resultat=$pdo->query("SELECT * FROM photo_bien WHERE Id_bien = '".$Id_bien."'");
$resultat->setFetchMode(PDO::FETCH_OBJ);
while($result_bien = $resultat->fetch() )
{

?>

    <li  id="<?php echo $result_bien->Id_photo; ?>"><img width="150" src="<?php echo $result_bien->photo_bien; ?>"></li>
 <?php
}
?>

</ul>
<script type="text/javascript">
$(document).ready(function () {
    $('#sortable').sortable({
        axis: 'x',
        stop: function (event, ui) {
                var data = $(this).sortable('serialize');
            $.ajax({
                data: data,
                type: 'POST',
                url: 'set_position.php'
            });
        }
    });
});
</script>  

</body>
</html>

et le fichier de traitement :

<?
    include('connect.php');
    $sortable = $_POST['sortable'];
    for ($i = 0; $i < count($sortable); $i++) {
            // SQL :
            $pdo->exec("update photo_bien set position ='".($i + 1)."' where Id_photo = '".$sortable[$i]."'");
    }
?>

Aucune réponse