800 à 2000 données dans mes combos, une solutions ?

800 à 2000 données dans mes combos, une solutions ? - PHP - Programmation

Marsh Posté le 11-12-2011 à 13:01:49    

Bonjour,
 
J'ai une page php qui gère une table d'administration sous MySQL.
 
PIECE
=============
idpiece (PK)
idproducteur (FK)
idserie (FK)
description
 
L'utilisateur sélectionne un producteur, éventuellement une série liée au producteur et une description.
 
Ca marche bien sauf qu'il commence a y avoir bcp de données dans les combo (800 et 2000) et du coup pas mal d'erreurs de saisie.
 
J'ai pensé a faire des "popup de sélection de données avec filtrage" pour remplacer les combo mais je n'ai pas trouvé d'exemple en PHP/Javascript.
 
Comment traitez vous ce genre de problème ?
Avez vous des exemples ?
 
Merci !
 
 
 

Reply

Marsh Posté le 11-12-2011 à 13:01:49   

Reply

Marsh Posté le 12-12-2011 à 16:36:53    

1- En utilisant des widgets "intelligents" en js tu auras de la complétion auto, ce qui peut permettre de contourner le pb.
 
2- Sinon oui il faut implémenter un epopup avec filtrage des données. Sur le site sur lequel je travaille on l'a fait à la main.

Reply

Marsh Posté le 13-12-2011 à 09:52:57    

1) Est-ce que tu as un url ou un exemple de widget ?  
Pour l'instant j'ai une zone de texte qui filtre une combo en ajax mais ca fait pas très user friendly et l'utilisateur a l'impression de pouvoir ajouter ses propres données.
 
2)  Concrètement c'est dur à faire ? Comment on ouvre une popup avec retour de valeurs ?

Reply

Marsh Posté le 13-12-2011 à 10:33:09    

Fredo798 a écrit :

1) Est-ce que tu as un url ou un exemple de widget ?  
Pour l'instant j'ai une zone de texte qui filtre une combo en ajax mais ca fait pas très user friendly et l'utilisateur a l'impression de pouvoir ajouter ses propres données.
 
2)  Concrètement c'est dur à faire ? Comment on ouvre une popup avec retour de valeurs ?


 
1) T'en a ici: http://dojotoolkit.org/reference-g [...] boBox.html
 
2) Ca dépende de ton niveau de compétences. Y'a rien de fait donc, c'est à toi de créer une div avec ta liste et ton input permettant de filtrere la liste, et de rajouter des événements javascript pour que ça filtre et pour que quand tu appuies sur ok ça cache la div et rajoute la valeur sélectionnée dans ton champ.

Reply

Marsh Posté le 13-12-2011 à 12:53:37    

1) J'ai regardé un peu j'ai trouvé ça :
http://dojotoolkit.org/reference-g [...] ringselect
 
Ça permet de retourner un identifiant sans l'afficher et d'indiquer à l'utilisateur qui aurait rentré une valeur que sa valeur n'est pas correcte.
 
Par contre apparemment il n'est pas possible de définir que la complétion puisse se faire par le milieu.
 
Si j'ai "LE TANNEUR" et "TANNEUR", je voudrais qu'en tappant TANN il me propose les 2.
 
Autre question :
Les fichiers sont apparement stockés ici : http://ajax.googleapis.com
 
Il est possible de les mettre sur ses propres serveurs ? car on devient dépendant de google d'utiliser des framework comme ça dans le cloud non ?
 
2) Je suis informaticien mais pas développeur web. Je vois a peu près ce que tu veux dire. Trouver les syntaxe va etre un peu chronophage mais pas insurmontable ;)
 
 
 

Reply

Marsh Posté le 13-12-2011 à 14:14:29    

Fredo798 a écrit :

1) J'ai regardé un peu j'ai trouvé ça :
http://dojotoolkit.org/reference-g [...] ringselect
 
Ça permet de retourner un identifiant sans l'afficher et d'indiquer à l'utilisateur qui aurait rentré une valeur que sa valeur n'est pas correcte.
 
Par contre apparemment il n'est pas possible de définir que la complétion puisse se faire par le milieu.
 
Si j'ai "LE TANNEUR" et "TANNEUR", je voudrais qu'en tappant TANN il me propose les 2.
 
Autre question :
Les fichiers sont apparement stockés ici : http://ajax.googleapis.com
 
Il est possible de les mettre sur ses propres serveurs ? car on devient dépendant de google d'utiliser des framework comme ça dans le cloud non ?
 
2) Je suis informaticien mais pas développeur web. Je vois a peu près ce que tu veux dire. Trouver les syntaxe va etre un peu chronophage mais pas insurmontable ;)
 
 
 


 
Oui bien sur le framework est téléchargeable et utilisable librement. Il est open source et gratuit si je ne me trompe pas. Tu peux regarder aussi du côté de YUI: http://developer.yahoo.com/yui/exa [...] array.html
 
Sinon bon courage pour la suite :)

Reply

Marsh Posté le 15-12-2011 à 21:57:28    

Fredo78, le mieux c'est encore de faire une requête AJAX à chaque caractère saisi.
 
En précalculant une empreinte phonétique de type phonex (pour la France) ou soundex/metaphone (Pour le UK), que tu stockes en BD et la comparant à l'empreinte du texte saisi, tu peux même attraper le bon mot alors que l'utilisateur fait d'abominables fautes d'orthographe.
 
Exemple avec l'algo Phonex que j'ai implémenté le week-end dernier (16 étapes de transformation) :
 
http://www.kirikoo.net/images/7CyberDenix-20111215-215547.png
 
 
Tu trouveras l'algo ici bas :
 
http://sqlpro.developpez.com/cours/soundex/


Message édité par CyberDenix le 15-12-2011 à 22:00:26

---------------
Directeur Technique (CTO)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed