PHP et liste déroulante "suggestive"

Répondre
mougeole boiteux
le 05/05/2006 à 09:24
mougeole boiteux
Bonjour

Voici mon probème :

J'ai une liste déroulante alimenté par les données d'une base.
Ca c'est classique ça va.

Le problème c'est que j'aurai également besoin d'une liste déroulante "de suggestion".

Je m'explique j'ai une page de saisie avec des lieu de batiment.
Pour éviter les fautes d'orthographe, je veux que l'utilisateur puisse séléctionner un lieu dans la liste.
Mais si il veut rentrer un nom différent il doit pouvoir le faire dans la liste.
Au prochain rafraichissement de la page, le nouveau lieu doit apparaitre dans cette liste.

Voila c'est ce que j'appelle une liste "suggestive".

Si quelqu'un a une idée de comment ça peut se faire...

Merci d'avance
zebden
le 05/05/2006 à 12:30
zebden
Lu,

Si c'est pour une partie administration, pourquoi pas ne placer un bouton à coté de la liste, qui pourrait eventuellement ouvrir un popup avec la possibilité de rajouter ce lieu que tu rajoutes dans une table à part.

Puis une fois validé, raffraichir la page parente. Et dans la table principale identifier le lieu avec un identifiant puis ensuite jointure pour la mise en page.

Et pour le formulaire, afficher dans la liste les lieux de la table "lieu" pour le coup avec comme value l'identifiant et la valeur le nom.

Y a plusieurs possibilités, il faut voir laquelle peut correspondre au mieux.
zebdinou pour les intimes / Blog : http://www.zebden.fr
mougeole boiteux
le 05/05/2006 à 13:31
mougeole boiteux
Salut

merci pour ta réponse.

J'aime bien ton idée de popup.
Mais je suis acuellement en stage et la charte de l'entreprise dit : "PAS DE POPUP".

Ensuite je dois rentré des employé dans une base ainsi que leur lieu de travail.

Je n'est pas trouvé utile de créer une table lieu à part (bien que j'y ai pensé).
J'affiche simplement dans ma liste le champs lieu de la table employé.

On ne peut pas supprimer un lieu mais aucune importance.
Si personne ne travail dans ce lieu, il ne figurera pas dans la liste.

Sinon, je peux faire un champs de saisie de texte et la liste ne sera la qu'a but informative et n'interagirait pas avec la base (je veux dire pour selectionner un choix)...

C'est une solution possible mais ça laisse quand même une plus grande place au erreur de saisie.

Et comment vérifié les erreur dans ce cas là?
Un lieu différent doit-il être interprété comme une erreur de saisie ou justement comme un nouveau lieu?
Pas moyen de vérifié.

Enfin merci quand même pour ta réponse.
zebden
le 05/05/2006 à 14:32
zebden
Pourquoi pas mettre la liste donc et aussi le champ de texte (comme tu l'as suggéré) mais ne choisir que le champ text seulement s'il est rempli sinon prendre l'élément dans la liste ?

Il y aura forcement des erreurs se saisie, mais étant donné que tu es assez restreint aux niveau des conditions. T'emmerde pas !
zebdinou pour les intimes / Blog : http://www.zebden.fr
Bzh
le 05/05/2006 à 15:00
Bzh
Et bien oui !

Tu mets un input text juste au dessu de la liste.

Donc lors de l'enregistrement coté php, tu testes le contenu de tes formulaires avec empty.

Si ton formulaire texte est vide, donc empty retourne true, tu enregistres dans la base le lieu choisie par l'intermédiaire de la liste et sinon, si le formulaire texte n'est pas vide, tu enregistres dans la base le lieu choisie par le formulaire texte.

Je te conseil de créer une nouvelle table contenant les différents lieu.

Sinon, il ya la possibilité javascript, mais plustot à déconseiller...

Bon courrage...
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours