Autocomplete jQuery UI avec source externe - HTML/CSS - Programmation
Marsh Posté le 20-07-2011 à 17:49:35
Essaye de passer une url complete (avec le http et tout) dans ton source et ca devrait aller mieux.
Essaye aussi avec un tableau json plus petit (si ton prog est bugge et qu'un des labels contient un " non escape, ca risque de foirer aussi.
Good luck.
Fred
Marsh Posté le 20-07-2011 à 18:12:40
Remarque judicieuse, je l'ai suivie mais pas de changement malheureusement.
URL complète :
Code :
|
Et pour mon tableau je n'ai pris que ce qui commence par "AM"
Code :
|
Marsh Posté le 20-07-2011 à 20:27:50
De memoire, autocomplete ne recoit pas du json, mais plutot un fichier avec un entree par ligne
Marsh Posté le 20-07-2011 à 21:08:20
J'avance peu à peu
Après vérification ça fonctionne bien avec JSON mais le souci que j'ai maintenant, c'est qu'il ne tient pas compte de ce que je rentre dans mon INPUT pour faire ses propositions, il me sort toute la liste.
J'ai dans mon groupes.php tous les artistes qui commencent par B et quand je tape A ou n'importe quelle autre lettre il me sort toujours la même liste...
http://www.shootmeagain.com/index. [...] tocomplete
C'est dans ma requête mysql que je dois spécifier un LIKE nom='qqch%' ?
Je ne passe aucun argument vers mon groupe.php pourtant...
Marsh Posté le 20-07-2011 à 21:58:37
Au fait, ce qui coinçait un peu avant c'était les caractères accentués, tout ça c'est une histoire de charset. M'en occuperai plus tard, là j'ai juste supprimé tous les accents lors de l'extract dans ma DB.
Bon, d'après les tutos effectivement la requête se fait dynamiquement par rapport à ce qu'on entre dans l'INPUT. Ce qui me fait poser 2 questions :
- C'est pas un peu gourmand de faire une requête à chaque fois que l'utilisateur tape une lettre ou presque ? Ce ne serait pas plus light de charger toute la liste et de filtrer dans un array ?
Comment passe l'argument, bon sang de bonsoir ?
D'après les tutos, ça se passe comme ceci :
Code :
|
Donc ça vient d'un ($_GET["q"]) donc dans le formulaire doit y avoir un "q" quelque part non ?
Parce que j'en vois pas...
Code :
|
Quelqu'un peut m'éclairer sur ce point ?
Marsh Posté le 21-07-2011 à 09:03:51
Est-ce que quelqu'un a au moins un jour réussi à faire fonctionner ce widget avec une source mysql ? Je deviens dingue, ça fait 2 heures que je cherche et rien ne fonctionne !
Marsh Posté le 21-07-2011 à 10:08:35
Non, ce que tu tapes est fourni a ton autocomplete par le script jQuery.
Ceci est recupere dans une variable qui s'appele normalement 'term' cote php (si tu utilise la meme version que moi).
Si ca te rassure, j'ai mis pas mal de temps a le faire fonctionner en .net...
Marsh Posté le 21-07-2011 à 15:41:35
fred777888999 a écrit : Non, ce que tu tapes est fourni a ton autocomplete par le script jQuery. |
T'es un Dieu mec, je t'aime !
http://www.shootmeagain.com/index. [...] tocomplete
Marsh Posté le 21-07-2011 à 15:45:56
lol, felicitations, tu as mis moins de temps que moi
Essaye quand meme de poster ton source, ca aidera surement ceux qui repasseront par la un jour
Marsh Posté le 21-07-2011 à 16:13:49
Of course, j'étais trop occupé à l'implémenter dans mon code
Alors le script qui va faire la requête :
Code :
|
2/3 trucs importants :
- $_GET['term'] (merci fred) c'est par là que passe le texte entré dans l'input, donc il faut qu'il soit dans la requête
- Un petit json_encode à la fin
- Les accents passent mal, même en jouant avec les charset. Alors le plus simple si on peut se passer des accents, utiliser un script qui les supprime, comme ça :
Code :
|
Enfin, j'ai vu dans tous les tutos des trucs hyper complexes et poussés mais si on a besoin juste de la fonction basique, 2/3 lignes comme ça suffisent :
Code :
|
Voilà, en espérant que ça puisse aider d'autres personnes. N'hésitez pas à me demander mais comme vous le voyez dans ce topic je suis surement moins doué que vous
Marsh Posté le 21-07-2011 à 17:35:01
Pas mal.
Attention tout de meme, ta moulinette qui transforme le nom du groupe (accents, ç, ...) va t'obliger a ensuite modifier ta recherche une fois que les données ont été saisies par l'utilisateur/autocomplete.
Marsh Posté le 21-07-2011 à 21:04:47
C'est tout-à-fait vrai. En fait, suffirait de passer le 'term' par la même moulinette !
Marsh Posté le 20-07-2011 à 17:11:00
Hello,
J'aimerais utiliser la widget autocomplete de jqueryui avec une source externe, donc un accès à ma DB qui doit rechercher environ 4000 entrées.
D'abord ce que j'ai compris, je dois :
- créer un script php qui va rechercher les entrées dans la DB Mysql et afficher le tout en format JSON
- avec le script autocomplete, aller chercher ce script comme source
C'est bien ça ?
J'ai donc un fichier groupes.php qui manifestement crée bien un tableau en JSON :
Bon j'ai enlevé une grosse partie parce que 4000 ça fait beaucoup.
Ca se trouve ici : http://www.shootmeagain.com/groupes.php
Ensuite le script autocomplete entre en jeu pour aller chercher ces données.
Voici le bout de code en questions :
Bien sûr les différentes sources .js ont été appelées.
Par contre, ça ne fonctionne pas comme vous pouvez le voir ici : http://www.shootmeagain.com/index. [...] tocomplete
Quelqu'un verrait comme ça ce que j'ai pu rater et qui fait que ça ne fonctionne pas ?
Merci 1000x d'avance de votre aide !
---------------
SHOOT ME AGAIN WEBZINE