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

JavaScript Discussion :

[AJAX] Afficher le résultat d'une requête après un onChange


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut [AJAX] Afficher le résultat d'une requête après un onChange
    Bonjour,

    tout d'abord je tiens à vous préciser que je suis méga débutante en Ajax.
    Et secundo, je pense que mon problème peut se résoudre grâce à Ajax mais je n'en ai pas la certitude.

    Je vous explique.
    J'ai un champ "Mail" où l'on tape une adresse et on a des solutions proposées pour ce qu'on a tapé (autocomplétion faite).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // Champ pour entrer le mail
    $divlogma = <<<END
    <div id='liste' style='width:300px;position:relative;'>
    <input type='text' name='reclogm' id='reclogm' onChange="infodomaine();">
    </div>
    END;
    Une fois que la personne a sélectionné dans la liste le mail qu'elle veut, il faudrait que sur l'évènement onChange de ce champ "Mail", j'affiche un tableau contenant les informations relatives au mail sélectionné.
    Que ma fonction infodomaine(); écrite dans le code javascript, m'affiche le tableau de ma requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Requête et tableau à afficher une fois qu'on a sélectionné le bon mail
    $tabinfo[] = array(labels => ",Login,Destination");
    $SQLinfo = "SELECT source,destination FROM emails WHERE source LIKE '% ... %'";
    $Q = mysql_db_query($SQLinfo);
    $i=1;
    while ($R = mysql_fetch_array($Q))
    {
    	$tabinfo[$i] = array(descD => $i,
    	                          valC1 => $R['source']
    		);
           $i++; 
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Ce à quoi ressemble ma fonction en JS infodomaine()
    function infodomaine()
    {
            // Ca c'était une tentative, afin qu'une fois dans ce code, le php détecte $declench à 1 et exécute ainsi la requête
    	var declench = 1;
    	document.getElementById('info').style.display="block";
    }
    Si je le fais en PHP-JS, ma requête sera déja effectuée alors que je n'aurai pas encore fait de sélection dans mon champ "Mail".
    J'ai tenté de mettre un if (var = 1) { faire requête }, en mettant la variable à 1 dans le javascript, mais ça c'est foireux totalement.
    Je sais que PHP est côté serveur et JS côté client, donc apparement j'ai lu à quelques endroits qu'Ajax était la meilleure solution, mais comme je n'y connais rien j'aurai besoin d'aide ... =)

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par baggie Voir le message
    j'ai lu à quelques endroits qu'Ajax était la meilleure solution, mais comme je n'y connais rien j'aurai besoin d'aide ... =)
    tu as donc fais un script d'autocompletion d'adresse mail.

    Le tuto Ajax de D.Cabasson "Ajax - une autocomplétion pas à pas" semble donc particulièrement adapté

    A+

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Mais je l'ai déja faite mon autocomplétion (et je l'avais vu ce tuto mais ce n'est pas celui ci qui m'a servi ^^).

    Mon problème est d'afficher les données correspondantes au mail tapé, à droite du champ.

    Apparement je devrais tester avec xmlhttprequest si j'ai bien lu, mais bon, je ne sais pas vraiment comment que ça fonctionne ...

    Citation Envoyé par Le tutoriel
    Le premier script que nous allons mettre en place est celui permettant de créer un objet xmlHttpRequest (ou XHR pour les intimes). Cet objet va nous permettre d'effectuer des requêtes vers notre serveur, sans avoir à recharger entièrement la page.
    Bah oui ça c'est intéréssant, mais quand il dit requête, dit-il requête SQL ? :/

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par baggie Voir le message
    Mon problème est d'afficher les données correspondantes au mail tapé, à droite du champ.
    Et qu'est-ce qui te bloques ?

    Le fonctionnement est le même qu'au § 1-B-7 du tuto.
    Sauf que tu dois générer un tableau au lieu d'une liste ...

    A+

  5. #5
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Ben je n'arrive pas à saisir où je suis censée mettre ma requête en fait dans ce tuto :/ les suggestions du tuto sont déja dans un fichier php qui est appelé.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par baggie Voir le message
    Ben je n'arrive pas à saisir où je suis censée mettre ma requête en fait dans ce tuto :/ les suggestions du tuto sont déja dans un fichier php qui est appelé.
    Tes requêtes SQL seront forcément dans ton fichier PHP appelé par Ajax.

    Ajax (JS) appelle ta page PHP qui lance la requête SQL. La page PHP génère ensuite la réponse en fonction du résultat de la requête (via des "echo").
    Ta page PHP doit donc générer le code HTML que tu récupéreras simplement via la propriété responseText de ton objet xhr ....

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/07/2011, 10h57
  2. Afficher les résultats d'une requête ligne après ligne
    Par ThunderBolt_ dans le forum VBA Access
    Réponses: 9
    Dernier message: 02/08/2007, 13h28
  3. [SQL] Est-il possible d'afficher le résultat d'une requête dans un cadre
    Par dessinateurttuyen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/07/2006, 17h52
  4. Réponses: 11
    Dernier message: 20/06/2006, 11h10
  5. Réponses: 5
    Dernier message: 14/06/2006, 15h19

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