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

AJAX Discussion :

[AJAX] AJAX / PHP : appel fonction


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut [AJAX] AJAX / PHP : appel fonction
    Bonjour,

    J'ai deux fichiers .php. L'un contient du html et une partie javascript qui utilise du jquery.
    L'autre fichier contient plusieurs fonctions possédant des requêtes.

    J'utilise un timer dans le premier fichier afin de mettre à jour des champs. Jusque là tout va bien puisque par défaut mon fichier php avec les requêtes ne possédaient pas de fonction.

    Mon problème est le suivant : je n'arrive pas à faire appel à une fonction php de mon fichier de requête à partir du premier fichier.
    Voici l'extrait de code du premier fichier :

    Code javascript : 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
    <script src="JQuery.js"></script>
    <script>
     
    function charger()
    {
        $.post('connexion.php', function(data)
               {
               $("#tempINT").html(data[0]);
               $("#tempEXT").html(data[1]);
               $("#dateMAJ").html(data[2]);
               },'json');
        setTimeout( function()
            {
                $.post('connexion.php', function(data)
                {
                       $("#tempINT").html(data[0]);
                       $("#tempEXT").html(data[1]);
                       $("#dateMAJ").html(data[2]);
                },'json');
                charger();
            }, 60000); //Toutes les 1 minute
     
    }
    charger();
    </script>

    Voici le fichier des requêtes qui contient entre autre une fonction :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
        function maj_header()
        {
            $result=$db->querySingle("SELECT max(SECONDES) as nbSecondes, Mesure FROM Mesures WHERE typemesure='P' and id='INT'", TRUE);
            $pressionCourante=$result['Mesure'] . " HPa";
            $result=$db->querySingle("SELECT max(SECONDES) as nbSecondes, Mesure FROM Mesures WHERE typemesure='T' and id='EXT'", TRUE);
            $temperatureEXTCourante=$result['Mesure'] . " &deg;C"; //&agrave; " . date("H:m", $nbSecondes);
            $dateMAJ = "Dernière mise à jour à " . date('H:i:s');
            $array = array($pressionCourante, $temperatureEXTCourante,$dateMAJ);
            echo json_encode($array);
        }
    ?>

    Quelle est la bonne syntaxe du $.post pour l'appel de la fonction maj_header qui se situe dans le fichier connexion.php ?

    Merci.

    Vincent.

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Tu dois juste appeler la fonction après l'avoir définie.

    Quand ton serveur reçoit une requête Ajax, il voit d'abord que la requête est adressée à un fichier PHP. Il fait donc appel à l'interpréteur PHP. Celui-ci lit le fichier PHP puis l'interprète puis l'exécute.

    Dans le code que tu as donné il y a une définition de fonction. L'interpréteur analyse cette fonction, l'enregistre en mémoire, retient son nom pour savoir quand elle est appelée… Et là c'est la fin du fichier. Le programme PHP s'arrête, libère la mémoire, signale au serveur que tout s'est terminé correctement, et le serveur renvoie au client une réponse vide avec un code HTTP 200 qui signifie « Tout va bien ».

    Tout ça pour dire qu'il est hors de propos d'essayer d'appeler une fonction PHP depuis du code JavaScript. En revanche, ton code PHP peut le faire.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/06/2008, 11h20
  2. [AJAX] Ajax et PHP : gestion des exceptions
    Par sliderman dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/05/2008, 13h31
  3. [AJAX] ajax et php upload
    Par roduce dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/01/2008, 14h04
  4. [AJAX] Ajax et PHP - Récupérer plusieurs champs ?
    Par stephnane dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/09/2007, 22h09
  5. [AJAX] Ajax et exécution des fonctions javascript
    Par Bobtop dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/06/2006, 15h22

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