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

Langage PHP Discussion :

Conservation données formulaire lors changement page


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 48
    Points
    48
    Par défaut Conservation données formulaire lors changement page
    Bonjour à tous,

    voilà mon problème: j'ai un formulaire permettant de trier une liste de données en fonction de plusieurs listes déroulantes dont les valeurs sont conservées à chaque modification de ce tri grâce à "selected=selected". L'inconvénient est que les données triées sont limité à un certain nombre par page grâce à un système de pagination et quand on décide de changer de page, les données choisies des listes déroulantes sont perdues (logique) on se retrouve donc avec les données non triées. J'aimerais savoir s'il existe un moyen simple de conserver les données de ce formulaire à chaque changement de page (en fait l'url reste le même il y a juste un indice de pagination de type numero_page=5 en paramètre mais je pense pas que ça change grand chose). J'ai pensé à utiliser les sessions avec serialize() sur les donnée $_POST puis un unserialize() qu'on réinjecterait dans les données $_POST sur l'autre page mais je sais pas si cette méthode est à préconiser (d'ailleurs je sais même pas si elle marche...).

    Merci de votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Classiquement on enregistre les post dans des variables de sessions que l'on utilise pour remplir les champs du formulaire lors des prochains affichages. Tu peux faire pareil pour tes champs de recherche.

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Imaginons un instant que le filtre déclenche une requêtes MySQL qui comporte les critères de filtrage dans la clause WHERE plus une clause LIMIT pour la pagination. Le mieux à faire dans ton cas serait de sauvegarder 2 choses:
    - la requête initiale avec la clause WHERE dûment renseignée
    - le numéro page en cours (initialement 0)
    Tu mets ça dans une structure (un bête tableau fera l'affaire) sur SESSION et tu lui donne un token pour l'identifier, c'est ce token que tu fera transiter de page en page.
    Ensuite, si la page "n", tu récupère la requête et tu recalcules les bornes à définir dans ta clause LIMIT (en fonction de ton paramètre "page" bien sûr) et tu l'exécute à nouveau.

    Si tu es à l'aise en objet, tu peux envisager de créer un iterateur sur les résultats de requêtes capable d'encapsuler tout ces traitements et de se sérialiser sur la session (voir __sleep et __wakeup), c'est beaucoup plus pratique de travailler avec des itérators dans ce cas précis.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 48
    Points
    48
    Par défaut
    Comme c'est pour un petit site, je vais tout bêtement enregistrer les données POST dans une SESSION comme l'a conseillé ABCIWEB.

    Merci de vos réponses!

Discussions similaires

  1. garder données formulaires pour plusieurs pages
    Par mikoumed dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2012, 14h43
  2. conserver données à utiliser pour plusieurs pages
    Par mikoumed dans le forum Langage
    Réponses: 15
    Dernier message: 28/12/2011, 19h50
  3. Envois données formulaires vers deux pages php
    Par noxia dans le forum Langage
    Réponses: 3
    Dernier message: 24/11/2008, 11h59
  4. Garder données formulaire en changeant page
    Par Kerweb dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2008, 17h20
  5. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08

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