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 :

Evènement JS => requête SQL puis action JS


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut Evènement JS => requête SQL puis action JS
    Bonjour,

    J'ai un formulaire que je voudrais automatiser. En effet, suivant la valeur entrée par l'utilisateur dans la première case, le reste peut se remplir automatiquement.

    La première case est un champ texte. Quand on clique dessus, un calendrier JS s'ouvre. L'utilisateur peut naviguer à sa guise dans ce calendrier. Lorsqu'il clique sur une date dans le calendrier, celui-ci se ferme et la date choisie est insérée dans le champ texte.

    J'ai trouvé un script et j'ai bien vu quelle fonction de ce script s'exécute lorsqu'on clique sur une date, mais j'aimerais maintenant l'améliorer.

    En effet, je voudrais que lorsqu'on clique sur une date, une requête SQL s'exécute. La requête irait alors chercher dans une BDD MySQL les autres champs d'un enregistrement ayant le champ 'date' égal à la date choisie par l'utilisateur. Premiers problèmes : il faut alors transmettre la valeur de la date au script qui excute la requête, et il faut appeler un script (sûrement PHP j'imagine) ; comment faire ça en JS ?

    Ensuite, je dois récupérer les valeurs de ces autres champs, et m'en servir pour remplir le reste du formulaire. Ca implique donc un retour sous JS. Là où je vais bloquer : quelle est la commande JS qui permet de remplir une case d'un formulaire ?

    Je vous remercie par avance de vos réponses !!

    ++

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ajax aka xmlhttprequest ...

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    OK, je vais regarder ça, mais je reviendrai surement vers vous, n'ayant jamais touché à Ajax

    ++

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Cool, merci

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Re,

    Et bien je pense que je suis sur une bonne piste, mais je ne trouve pas l'instruction JS qui permet de forcer la valeur d'un champ texte d'un formulaire

    Merci encore !

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id_du_input').value='Valeur';

  8. #8
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    OK, merci.

    Edit : désolé, en fait j'ai trouvé la réponse à ma question, où je demandais s'il y avait des contraintes quant au placement de ce code...

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ca dépend du contexte, si l'instruction est dans une fonction, tu peux le mettre partout, sinon, il faut le mettre après que ton input soit chargé dans la page...
    Le mieux étant de le faire sur l'événement onload si c'est pour une valeur initiale ou dans une fonction si c'est pour un changement de valeur.

  10. #10
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Ca marche presque... Mais évidemment, faut bien qu'autre chose bloque.

    Dans mon fichier PHP (appelé par JS), j'utilise une classe MySQL pour interroger la BDD. J'inclus donc la classe en haut de mon fichier PHP. Mais si je fais un echo de quelque chose APRES l'inclusion, ce n'est pas retourné à JS ; alors que tout echo AVANT l'inclusion est retourné parfaitement à JS !

    Comment faire ??

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    on peut voir un bout de code ???

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Oui, bien sûr :

    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
    <?php
            echo "ok1";
            include("../../../includes/php/classes/Mysql.class.php");
            //Récupération de la date générée dans le JS
            $jour = $_POST["jour"];
            
            //Récupération des données correspondant à cette date
            $db2 = new Mysql();
                    if($db2->Open())
                    {
                            $sql = "select * from echanges where date=".$jour.";";
                            $db2->Query($sql);
                            $reponse = $db2->RowA();
                            $avance = $reponse['avance'];
                            $affectation = $reponse['affectation'];
                            $envoi = $reponse['envoi'];
                            $retour = $reponse['retour'];
                    }
            echo "ok2";
    //      echo $avance.",".$affectation.",".$envoi.",".$retour;
    ?>
    "jour" est envoyé en paramètre de xhr.send
    Provisoirement, j'ai mis l'echo final en commentaire, mais je le laisse pour que vous voyez ce que je veux récupérer.
    Actuellement, "ok1" est bien transmis, mais pas "ok2". Et c'est la même chose si je mets "ok2" juste après l'include.
    Au passage, ce n'est pas le chemin de la classe qui n'est pas bon, hein.

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu es sur que ton code de requete ne plante pas ?

  14. #14
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Bah en tout cas, même si je le mets en commentaires, ça fait pareil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
            echo "ok1";
            include("../../../includes/php/classes/Mysql.class.php");
            echo "ok2";
    ?>
    renvoie aussi "ok1" seulement

  15. #15
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Pour info, j'ai essayé de mettre

    dans le fichier Mysql.class.php.

    Ca s'affiche si je le mets avant la définition de la classe, mais pas si je le mets après... Je comprends pas ce qui fait bloquer

    J'ai mis le fichier de la classe en pièce jointe, si ça peut aider...
    Fichiers attachés Fichiers attachés

  16. #16
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Visiblement, ça ne vous aide pas plus que ça Est-ce que je dois m'adresser au forum PHP pour ce problème ?

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    je dirait que oui car le souci à l'aire de venir de php qui n'arrive pas a rediger la page comme souhaité... et pas de javascipt qui ne peut afficher que ce qu'il récupère ...

  18. #18
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    OK, et bien je vais aller faire ça. En tout cas, merci encore, parce que quand je fais juste un simple echo dans la fonction PHP, celui-ci s'affiche bien dans la case du formulaire que je veux

    ++

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

Discussions similaires

  1. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/07/2024, 15h41
  2. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 19h42
  3. Access sql : puis-je faire çà avec une requête ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 10
    Dernier message: 15/11/2006, 08h20
  4. [MySQL] requête SQL MAX puis récupération de la valeur
    Par zulot dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/02/2006, 14h17
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

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