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

jblvsab
Invité n'ayant pas de compte PHPfrance

09 juin 2008, 23:15

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

Eléphant du PHP | 67 Messages

10 juin 2008, 11:26

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...

ViPHP
ViPHP | 2144 Messages

11 juin 2008, 14:06

Pourquoi ne pas utiliser simplement une session ?

jblvsab
Invité n'ayant pas de compte PHPfrance

11 juin 2008, 21:39

Merci de vos réponses

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

A+

Olivier