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

Bibliothèques & Frameworks Discussion :

Recherche et affichage en liste


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut Recherche et affichage en liste
    Bonjour à tous.

    Je commence juste à developper en AJAX. j'ai fait un tour sur les tuto et sur les divers ressources que j'ai trouvé sur le net. Seulement voilà, je n'arrive pas vraiment à m'en sortir.

    Voilà ma situation.
    J'ai une page php avec un formulaire. Dans ce formulaire un champ societe. Sur le onBlur de ce champs, je dois ouvrir un pop up qui me propose une liste de societe qui commence par la valeur du champ (WHERE societe LIKE '$valeur%').
    Cette liste doit être de 10 societes puis on doit pouvoir faire suivant ou cliquer sur le numero des pages.
    L'affichage comprend un lien sur le nom de la société. Au click sur ce lien, ça ferme le pop up et ça rempli le champ Societe de la page principale avec le nom de la liste qui a été cliqué.

    Voilà maintenant des bouts de code.

    Ma page principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function popup()
    {
    if(document.form.societe.value != "")
        {
            newpage=open("/Devis/rechercheSociete/societe/"+document.form.societe.value,'newpopup','width=400,height=400,left=300,top=150,toolbar=no,scrollbars=no,resizable=no');
        }
     
    }
    <input type="text" size="20" name="societe" onBlur="popup()">
    Le formatage des url vient du fait que j'utilise le framework Zend.

    Ma page popup :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <html>
    <head>
    <script type='text/javascript'>
        var xhr = null; 
        if(window.XMLHttpRequest) // Firefox et autres
           xhr = new XMLHttpRequest(); 
        else if(window.ActiveXObject){ // Internet Explorer 
           try {
              xhr = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
              xhr = new ActiveXObject("Microsoft.XMLHTTP");
           }
        }
        else { // XMLHttpRequest non supporté par le navigateur 
           alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
           xhr = false; 
        } 
     
        xhr.open("POST", "ajaxSociete.php", true); 
     
        xhr.onreadystatechange = function() { 
        if(xhr.readyState == 4) 
           eval(xhr.responseText); 
        } 
     
        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
        xhr.send(tab_client);
     
     
    </script>
     
    </head>
    <body>
    <form name="form">
    <input type="hidden" name="societe_client" value="a"><input type="hidden" name="affiche" value="1">
    </form>
    </body></html>
    Une troisième page qui contient ma requete SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    header('Content-type: text/html; charset=iso-8859-1'); 
    require 'connect.php';
     
        $query  = "SELECT * FROM client LIKE '".$_POST["societe"]."%'"; 
        $result = mysql_query($query); 
     
        echo 'var tab_client[]';
        while($r = mysql_fetch_array($result)) 
            echo 'tab_client[1][id]"'.$r["id_client"].'");';
    Voilà ce que j'ai réussi à faire...
    Mais bon rien ne fonctionne.

    Quelqu'un pourrait il m'aider un peu et orienter mes recherches.
    Merci d'avance.

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par eowene
    Voilà ce que j'ai réussi à faire...
    Mais bon rien ne fonctionne.

    Quelqu'un pourrait il m'aider un peu et orienter mes recherches.
    Merci d'avance.
    Qu'est ce qui ne fonctionne pas, plus précisement?

    Ta liste de société est-elle tellement grande (>5000) pour que tu fasses appel à Ajax?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Non, ma liste de société n'est pas supérieure à 5000 mais si je veux faire plusieurs pages de réponse sans recharger ma pages à chaque fois, je dois bien utiliser AJAX, non ?!

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par eowene
    Non, ma liste de société n'est pas supérieure à 5000 mais si je veux faire plusieurs pages de réponse sans recharger ma pages à chaque fois, je dois bien utiliser AJAX, non ?!
    Pas forcément. Tu peus très bien envoyer l'ensemble de tes données dès le début mais ne les afficher que partiellement.

    Si ton volume de données est faible (je dis 5000 mais c'est un ordre d'idée), typiquement si tu as moins de 10 pages, mieux vaut tout envoyer une fois pour toute et faire en sorte que javascript n'affiche qu'une partie de l'information (en gérant la pagination).

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    En fait, j'ai jusqu'à 450 pages de réponses suivant ce que je recherche. Là j'ai le problème pour les société mais je veux adopter le meme principe avec des articles, etc...
    Donc je pense que ça va faire un peu lourd d'envoyer toutes ces infos en même temps.
    Seulement, je ne connais pas bien l'Ajax...

    Bref, j'ai utilisé la TurboGrid de Dojo pour pouvoir traiter mes données plus facilement.

    Cette TurboGrid est bien mais je ne sais pas trop ou aller modifier la feuille de style pour l'assortir à mon site.

    Si quelqu'un a des infos.

    Sinon pour ma première question, je serait tout de meme ravie de pouvoir en apprendre plus sur l'Ajax mais j'ai compris certains trucs en utilisant la turbo grid...

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/04/2015, 20h08
  2. Recherche et affichage des valeurs d'une liste
    Par sat478 dans le forum Excel
    Réponses: 4
    Dernier message: 18/01/2009, 17h52
  3. Recherche Element dans une liste
    Par hellodelu dans le forum ASP
    Réponses: 7
    Dernier message: 19/08/2005, 10h56
  4. Réponses: 15
    Dernier message: 20/07/2004, 09h22
  5. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10

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