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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Transferer des variables d'un fichier PHP vers une page en JS


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Apprenti aux langages informatiques
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti aux langages informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Transferer des variables d'un fichier PHP vers une page en JS
    Bonjour,

    la situation est la suivante : j'ai une page PHP qui récupère les infos d'une BDD et stock ces données dans des variables. Et une page JS qui echo ces donnés et qui refresh la page PHP sans refresh la page en JS, bien sûr ...

    J'ai vaguement vu que l'on pouvait faire quelque chose avec AJAX mais je ne m'y connais pas du tout.

    En espérant que vous puissiez m'aider

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu peux faire comme suit. L'exemple est trivial mais il permet de comprendre que c'est l'output de la page appelée qui est utilisé.

    test9010.php
    Le paramètre res passé à la page test9010b.php est un truc qui permet d'éviter la mise en cache de la page et donc d'appeler tout le temps la page.

    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
    <!DOCTYPE html>
     
    <html>
    <head>
    <title>Untitled</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     
    <script language="JavaScript" type="text/javascript">
    <!--
    function titi() {
      $(function() {
    	   res = Math.random();
         $.get('test9010b.php?r='+res, function(data2) {
    	   $('#toto').html(data2);			
         });
      });
    }
    //-->
    </script>
     
     
    </head>
    <body>
     
    <div id="toto"></div>
    <input type="button" value="Clique" onclick="titi();"/>
     
    </body>
    </html>
    test9010b.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    $a = rand(1,1000);
    print "Ceci est le resultat => $a";
    ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Apprenti aux langages informatiques
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti aux langages informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci de ta réponse :p

    Alors, dans la pratique c'est exactement ce qu'il me faut. Mais dans la théorique c'est un peu plus complique... je n'ai pas compris à quoi sert le res et d'où vient le data2.
    Mais si on essai avec mon cas concret, qu'est que ça donnerai ?
    Mon fichier PHP lis une base de donnée et ressort une variable que m'indique un temps ex : 16:02 (minutes restantes) mais le débit du serveur ex : 1 (go)...
    Qu'est ce que le code donnerai ?

    Merci encore pour ta réponse

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Si tu ne mets pas res alors quand le script va appeler la seconde page il risque d'aller chercher la page dans le cache. En changeant à chaque fois les paramètres de la page (dans ce cas c'est un paramètre qui ne sert à rien et tu pourrais mettre toto, titi ... ce que tu veux) cela force à appeler à chaque fois la page.

    data2 contient l'output de la seconde page. Il faudrait aller dans le code JQuery pour voir comment c'est programmé. Mais ici aussi tu peux mettre le nom que tu veux.

    L'important c'est le print dans la seconde page. Je ne vois pas la difficulté d'interroger une table et de faire un print du résultat.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Apprenti aux langages informatiques
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti aux langages informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour et merci pour ta réponse.

    J'ai 2 questions :

    -res peut contenir n'importe quoi, et qu'est ce que ça change si la page est mise en cache ou non ?
    -La deuxième est que sur une seule et même page, j'ai plusieurs variables comment je fais pour savoir quoi est quoi et pour les récuperer une par une ?

    Merci encore pour ton aide

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Si la page mise en cache est appelée elle renverra toujours le même résultat.
    Si tu as des données structurées à renvoyer tu peux utiliser le format json ou tout autre format à ta convenance. A toi de "déstructurer" ces dernières.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Apprenti aux langages informatiques
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti aux langages informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Okay mais je ne sais pas comment déstructurer, je n'ai aucune base en JSON... pourrait tu me donner une idée ?

  8. #8
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu peux faire comme suit. Ce n'est pas du json.

    fichier : test9010.php
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <!DOCTYPE html>
     
    <html>
    <head>
    <title>Untitled</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     
    <script language="JavaScript" type="text/javascript">
    <!--
    function titi() {
      $(function() {
    	   res = Math.random();
         $.get('test9010b.php?r='+res, function(data2) {
    	   $('#toto').html(data2);			 
    		 var liste = data2.split('|');
    	   $('#toto1').html(liste[0]);		
    		 $('#toto2').html(liste[1]);		
    		 $('#toto3').html(liste[2]);		
    		 $('#toto4').html(liste[3]);			
         });
      });
    }
    //-->
    </script>
     
     
    </head>
    <body>
    <table summary="">
    <tr>
    <td>Avant split : </td><td id="toto"></td>
    </tr>
    <tr>
    <td>Donnée 1 : </td><td id="toto1"></td>
    </tr>
    <tr>
    <td>Donnée 2 : </td><td id="toto2"></td>
    </tr>
    <tr>
    <td>Donnée 3 : </td><td id="toto3"></td>
    </tr>
    <tr>
    <td>Donnée 4 : </td><td id="toto4"></td>
    </tr>
    </table>
    <input type="button" value="Clique" onclick="titi();"/>
     
    </body>
    </html>

    fichier : test9010b.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
    $a = rand(1,1000);
    $b = rand(1,1000);
    $c = rand(1,1000);
    $d = rand(1,1000);
    print "$a|$b|$c|$d";
    ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Apprenti aux langages informatiques
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti aux langages informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci !
    Nickel j'ai tout ce qu'il me faut

    Maintenant en extra, je voudrai savoir si l'user est actif ou non... donc je galère :p
    Mais vraiement merci pour cette aide précieuse !!!

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

Discussions similaires

  1. Transferer des variables d'un fichier PHP vers une page en JS
    Par AaronB dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/09/2016, 13h32
  2. Réponses: 3
    Dernier message: 27/07/2011, 14h52
  3. Réponses: 3
    Dernier message: 25/02/2008, 09h14
  4. Définition des variable dans un fichier.m d'une interface graphique
    Par developpeur82 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 10/05/2007, 14h53
  5. passer des arguments depuis un lien hypertxte vers une page php
    Par killer_instinct dans le forum Langage
    Réponses: 5
    Dernier message: 28/04/2007, 12h18

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