IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Récupérations à partir de la base


Sujet :

Ext JS / Sencha

  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut Récupérations à partir de la base
    Bonjour,
    je travaille avec extjs et j'ai crée une page pour envoyer des mails. ce que je veux et quand je tape le premier caractère de l'adresse mail, une liste contenant toute les adresse mails commençant avec le caractère tapé. ainsi pour le 2ème...
    comment puis je faire ça
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    Cherche du côté de l'autocomplétion.

    Le principe est simple : à chaque lettre tapée dans l'input, tu effectues une recherche dans ta banque d'emails.

    Pour cela, tu dois placer un argument onkeyup sur ton input qui fait appel à une fonction javascript effectuant une requête PHP dans ta base de données (si tes emails sont contenus dans une base de données bien sûr).

    Pour la requête PHP cherches du côté de SELECT... LIKE... LIMIT

    Une fois que tu auras fais tout ça, affiche tes résultats dans un div et transforme-les en liens qui déclencherons une fonction permettant de remplacer ce que tu as entré dans l'input par l'adresse email recherchée

    Bonne chance !

  3. #3
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Regarde par ici

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Par défaut
    Vous allez le faire tourner en bourrique :-)
    Il y a - oh merci - désormais x solutions possible pour faire de l'autocomplétion.

    Mais puisque il est parti sur le framework extjs, autant profiter de ce framework pour coder son autocomplétion... non ?

    Tu trouveras un bon exemple à l'adresse suivante :
    http://extjs.com/deploy/dev/examples...um-search.html

    Voici en gros les étapes à respecter :

    1. Définir une datasource. Le rôle de cette datasource est d'interroger une source distance (SQL ou autre), et de définir le format JSON attendu.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var ds = new Ext.data.Store({
            url: 'host/dossier/mesdatas.php',
            reader: new Ext.data.JsonReader({
                root: 'emails',
                totalProperty: 'totalCount',
                id: 'email_id'
            }, [
                {name: 'nom', mapping: 'nom_db'},
                {name: 'email', mapping: 'email_db'}
            ])
        });
    2. Définir un template d'affichage pour chaque ligne résultat (dans l'autocomplete)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var resultTpl = new Ext.XTemplate(
            '<tpl for=".">',
                '<div>',
                   '<h3><span>Nom : {nom}<br />email: {email}</span></h3>',
                '</div>',
            '</tpl>');
    3. Instancier le composant autocomplete. Il faut prévoir un champ input dans le flux HTML, sur lequel va se greffer le composant. L'id de ce champ sert de référence (dans mon exemple, inputSearchEmail) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var search = new Ext.form.ComboBox({
            store: ds,
            displayField:'title',
            typeAhead: false,
            loadingText: 'Recherche en cours...',
            width: 570,
            pageSize:10,
            hideTrigger:true,
            tpl: resultTpl,
            applyTo: 'inputSearchEmail',
            itemSelector: 'div.search-item',
            onSelect: function(record){ // override default onSelect to do redirect
                alert('Email sélectionné !');
            }
        });
    Bon courage :-)

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/03/2013, 14h08
  2. Réponses: 2
    Dernier message: 24/01/2013, 15h06
  3. [XML] récupération de données à partir d'une base de données
    Par freddy000 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/01/2011, 15h31
  4. envoi automatisé de mails à partir d'une base postgresql
    Par youn608 dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 15/02/2005, 09h06
  5. Créer des clés informatiques à partir d'1 base de données??
    Par Flateric dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 11/02/2005, 07h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo