IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

mettre en place ui sortable


Sujet :

jQuery

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut mettre en place ui sortable
    Bonjour à tous je souhaite créer une liste de catégorie que je peux déplacer dans l'administration afin de modifier l'ordre.
    Ma table se compose de :
    • id
    • libelle
    • id_order

    Donc je me demandais comment la construire au mieux avec vos conseils.
    Je pensais avoir un code jquery se présentant comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(function() {
                $( "#sortable" ).sortable( {
                        update : function() {
                            $.ajax ( { type: "POST", url: "test.php", {order:$(".order").val()}, complete: function(data){alert(data);}});
                        }
                });
                $("#sortable").disableSelection();
            });
    Seulement étant donné que toutes les catégories vont alors changer de id_order il faudrais alors faire une requete sur tous le lot.
    Comment procéder ? et surtout comment faire des deux coté , niveau jquery et niveau requete sql (for, foreach, while sur les update ??)
    Voila mon code html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="" method="post">
    		<ul id="sortable">
    		<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="hidden" name="order[]" value="1"/>ogre</li>
    		<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="hidden" name="order[]" value="2"/>machin</li>
                   </ul>
    <input type="submit" id="submit" />
    	</form>
    je souhaite alors utilisez un bouton pour mettre à jour l'ordre.
    Comment faire pour mettre à jour l'ordre demandé dans ce cas il garde toujours la même valeur, je doit la changé suivant la place que je lui octrois ensuite il faut faire la requete pour modifier l"ordre.
    Dois je envoyé un tableau avec un implode mais je doit attribué le nouvel identifiant à chacun, comment faire

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Voir la discussion précédente : http://www.developpez.net/forums/d75...e/#post4345590

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Ben en faites, il faudrait que je puisse modifier la valeur des champs qui n'est en faites que id_order destinée à la position.
    Donc en gros faire un change() au moment du déplacer pour avoir le bon identifiant.
    Ensuite faire une requête pour modifier le numéro de celui-ci, cependant comme je déplace un enregistrement ils changent forcément tous, donc comment envoyer les updates multiple sur les bons éléments ?
    ps: je me prend surement la tête pour rien comme d'hab

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Avec jQuery, tu peux dire :

    • Tu modifies à chaque changement
    • Tu modifies qu'à la fin

    Si tu regardes le lien que j'ai donné c'est exactement ce que ça fait avec le update. le change le fait à chaque mouvement. SI tu veux faire sur un clic bouton c'est possible mais il faut retirer les événements du côté de sortable

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    ben de base mon id_order correspond à son emplacement .
    mais si je déplace cet enregistrement il ne change pas cette valeur, hors je dois la modifier avant la sauvegarder réellement.
    Je pense faire un change() au moment du déplacement pour avoir le bon id_order (valeur) et l'enregistrer mais je ne maitrise pas encore sortable
    Donc :
    <input type="hidden" name="order[]" value="1"/>

    Si déplacer vers la 3 ème place pendrai la valeur 3

    <input type="hidden" name="order[]" value="3"/>

    Modifiant ainsi la valeur de chacun pour avoir la place souhaité, puis une sauvegarde en SGBD des positions.
    Mais encore une fois je me pose certaine question, je doit enregistrer simultanément plusieurs enregistrement vu que la position affecte une bonne partie
    J'essaie de comprendre toute la subtilité de sortable jumelé avec PHP.
    Me prend la tête pour des queues de prune pour pas changer

  6. #6
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    j'ai rien dit, j'ai trouvé comment faire !!
    Je suis vraiment une grosse nouille, je n'avais pas compris du premier coup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mettre en place un réseau wifi
    Par Le Pharaon dans le forum Administration
    Réponses: 2
    Dernier message: 23/12/2005, 14h59
  2. [Timer] Comment mettre en place un genre de timer ?
    Par freddyboy dans le forum MFC
    Réponses: 6
    Dernier message: 04/08/2005, 10h50
  3. Réponses: 5
    Dernier message: 28/07/2004, 11h39
  4. Réponses: 1
    Dernier message: 02/06/2004, 13h59
  5. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo