Page 1 sur 1

passage d'un grand nombre de variables de pages en pages

Posté : 09 juin 2008, 23:15
par jblvsab
Bonsoir à tous,

J'ai développé un formulaire php avec une dizaine de champs (pays, ville, nom prénom...). Lorsque le formulaire est posté un grand nombre de résultats est renvoyé. J'ai donc paginé l'affichage de ces derniers et l'on passe d'une page à l'autre avec le numéro de page en get :

exemple : LesResultats.php?page=1, Les Resultats.php?page=2 etc...

Mais il faut aussi passer les valeurs des champs du formulaire de page en page. Par exemple passer de la page 2 à la page 3 mais en gardant le même ville qui a été sélectionnée dans le formulaire...

J'ai donc mis ces valeurs de champs dans des variables de session dès la première page de résultats tout de suite après le post. Ainsi lorsque je passse à la page 2 je passe la variable "page" en get et je teste si la varibale de session "ville" existe et si oui je l'intègre dans la requête etc...

Ca marche bien. Mais est-ce la meilleure méthode ? Est il nécessaire à l'appel de chaque page de solliciter le serveur ?

Je souhaite votre avis.

Meri d'avance

Olivier

Posté : 10 juin 2008, 11:26
par vince_weed
Ca dépend de ce qu tu veut faire précisément des informations récupérées par le formulaire.
Moi j'aurais tout mis dans une BDD avec pour chaque champ un nom de colonne correspondant et un id en plus pour clé primaire, comme ca tu accede aux infos que tu veut d'ou tu veut.

Sinon, si tu ne garde pas les infos (juste utile pour l'affichage immédiat) et que tu est en PHP5 tu crée une classe avec comme attributs des variables correspondant au champs de ton formulaire au moment du post tu instancie un objet et tu renseigne ses attribu avec le valeurs contenues dans le post
Mais ca ne correspond pas forcément a ce que tu veut faire...

Posté : 11 juin 2008, 14:06
par iclo
Pourquoi ne pas utiliser simplement une session ?

Posté : 11 juin 2008, 21:39
par jblvsab
Merci de vos réponses

C'est ce que je vais faire. Mais mettre en session seulement la requête

A+

Olivier