Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2008, 17h44   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Par défaut Listes liées avec rechargement spécifique

Bonjour.

Mais qu'est-ce donc que ce titre me direz-vous ? Surtout qu'il existe énormément de sujets sur la question dans le forum et sur d'autres sites. Sans parler des tutos, eux aussi nombreux.

En fait mon problème est complexe... du moins pour moi.

J'ai un fichier source assez volumineux (entre 20 et 30 Mo) que je parse.
Je stocke les données dans différents tableaux.

Ma première liste contient la région, la seconde le département et la troisième la ville. Trois listes déroulantes liées donc.
Trois possibilité s'offrent à moi :
- en PHP : trop long
- en Ajax : idem vu la grosseur du fichier source.
- en JS : une seule attente.
Le problème : avec le script que j'utilise, j'ai un problème de mémoire.
Voir également ce sujet.

La solution : créer le code javascript à l'aide de php.

A priori rien de compliqué, mais j'aimerai avoir la marche à suivre ou pourquoi pas un lien vers un tuto.


MAIS ceci n'est que la première partie du problème.

Une fois que cela sera mis en place, il faut savoir que pour générer cette page, je choisis un paramètre que l'on appellera pays.
L'idéal pour moi, ce serait CETTE FOIS d'utiliser Ajax lorsque je change ce paramètre.
Concrétement :
Form 1 = paramètres pays
Form 2 = 3 listes déroulantes : région, département, ville
Il faut donc que lorsque je change le pays, les 3 listes déroulantes se rechargent.
Or ces 3 listes seront construites à partir d'un javascript généré par PHP.
Ajax permet de réécrire des valeurs de formulaires, des DIV mais permet-il de réécrire un Javascript ?


Voilà, je sais ce que vous allez me dire à savoir que ce que je cherche à faire est trop compliqué.
Je vous serez néanmoins reconnaissant de m'aider au moins à répondre à mon premier problème, à savoir générer un javascript de listes liées à partir de php.

Merci à vous.
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 19h01   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
si j'ai bien compris ton problème :
Déjà je pense que tu as intérêt à mettre tes données en base de données une bonne fois pour toute plutôt que de saturer la mémoire de ton serveur à chaque fois. S'il y a pas moyen, il faudrait au moins découper tes fichiers sources et en utilisant une arborescence de répertoires par exemple.

Ensuite tu fais ça en PHP pur ou en Ajax c'est pas le problème (avec ou sans rechargement de page). Le problème c'est que tu construit toute ta liste en JS, en général il faut construire que la branche sélectionné de l'arbre.

Concrètement en PHP sans JS :
- tu passes la variable de ton pays en post/get
- tu récupères ta liste de régions associées au pays sélectionné sur le serveur (dans la BDD ou dans ton fichier nommé nomPays-region.txt)
- tu crées ton select de régions associées au pays
- tu passes les 2 variables pays, region
- tu récupères ta liste de départements associés à la région sur le serveur
- tu crées tes select de pays, régions, départements
- etc.

C'est juste un exemple car c'est typiquement le type de problème où Ajax devient intéressant.

A mon avis il faut que tu oublies le script JS que tu utilises sur ce coup-là (ou alors ne lui fournir que les listes nécessaires, pas toutes les données) mais ce n'est pas difficile de créer des select depuis une BDD ou fichier.
__________________
Vive les roues en pierre
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 02h32   #3
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bonjour,

Tu peux voir du coté de mon source :
Listes liées avec AJAX et PHP

Mais 30 Mo de données je ne vois pas l'interet de charger tout ça.
Tu devrais déjà faire un premier select sur la région, aller à la page suivante et te servir de mon code pour faire tes select de departements et de villes

Et comme le disait Djakisback, mets tout en base de données ce sera plus facile à manipuler
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h35.


 
 
 
 
Partenaires

Hébergement Web