Fonction drag and drop, limite du nombre de déplacements.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fonction drag and drop, limite du nombre de déplacements.

Fonction drag and drop, limite du nombre de déplacements.

par Magalux » 10 mai 2016, 14:38

Bonjour,

J'ai initié une fonction drag and drop pour une liste de photos avec enregistrement en base de la position de chacune.
Ceci afin de pouvoir gérer/modifier au besoin l'ordre des photos de nos annonces.

Cela fait un moment que nous l'utilisons, et l'on vient de s'apercevoir d'un petit bug. En effet au bout d'un certain nombre de déplacement (5 ou 6), la fonction n'enregistre plus la position en base.

A l'écran la photo est bien déplacée, mais lorsqu'on enregistre et qu'on retourne sur l'annonce, seuls les 1er déplacements ont été mémorisés ..... comme si il y avait un nombre limite de déplacement.

Voici le code js :
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/administrator/components/com_realestatemanager/drag_and_drop/js/interface.js"></script>
<script type="text/javascript">
 
    $(document).ready (
        function () {
            $( "#sortlist" ).Sortable ( {
            accept : 'sortable_item',
            axis : 'vertically',
            opacity : 0.6,
            onchange : function ( sorted ) {
            serial = $.SortSerialize ( 'sortlist' ); 
            $.ajax ( {
                url : "<?php echo $mosConfig_live_site; ?>/administrator/components/com_realestatemanager/drag_and_drop/inc/set_position.php",
                type : "post",
                data : serial.hash,
 
                });
            }
 
        });
    });
 
</script>
Et la requête sql :
<?

	$mysqli = new mysqli($serveur, $user, $pass, $base);
	$db = mysql_connect('localhost', 'xxxx', 'xxxx');

	mysql_select_db('xxxx',$db) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
		
	$sql = "SELECT `id`, `position` FROM joomla_rem_photos ";
	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

	while($data = mysql_fetch_assoc($req))
	{
		$sortlist = $_POST['sortlist'];
			
		for ($i = 0; $i < count($sortlist); $i++) {
			
				$query = ("UPDATE joomla_rem_photos SET position ='".($i + 1)."' WHERE id=$sortlist[$i]");
				$ajout = mysql_query($query) or die(mysql_error());
			
		}
	}

?>
Merci de votre aide