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] rafraichir une image dont le src est un .php en AJAX


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut [AJAX] rafraichir une image dont le src est un .php en AJAX
    Bonjour,

    il faudrait que l'image se rafraichissent d'elle meme environ toutes les secondes, peut etre avec un setTimeOut mais si l'ajax permet de le faire de lui meme ca serait mieux, m'a page html qui affiche l'image est celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html>
    <body><br/><br/>
    	<div align="center">
    		<img src="tpperso.php" alt="Mon graphique"/>
    	</div>
    </body>
    </html>
    et tpperso.php est construite de cette facon :

    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
    50
    51
    52
    53
    <?php
     
       require_once "Artichow/LinePlot.class.php";
       
       $graph = new Graph(600, 300);
       $graph->setAntiAliasing(TRUE);
       
       $values = array(1, 7, 3, 2.5, 5, -4.5, -5, rand(0,7), rand(0,7), rand(0,7), rand(0,7), rand(0,7)); #valeur a afficher
       $plot = new LinePlot($values);
       $plot->setBackgroundColor(new Color(240, 240, 240));
       
       $plot->hideLine(TRUE);
       $plot->setFillColor(new Color(100, 180, 180, 75)); #couleur sous la courbe
       
       $plot->grid->setBackgroundColor(new Color(235, 235, 180, 60));
       
       $plot->yAxis->setLabelPrecision(2); #chiffre apres la virgule en ordonnée
       
       $days = array(
          '00h',
          '01h',
          '02h',
          '03h',
          '04h',
          '06h',
          '07h',
          '08h',
          '09h',
          '10h',
          '11h',
          '12h'
       );
       $plot->xAxis->setLabelText($days);
          
       $plot->setSpace(6, 6, 10, 10); #etirement du diagramme
       
       
       $plot->label->set($values);
       $plot->label->move(0, -23); #position des petit label ac la valeur
       $plot->label->setBackgroundGradient(
          new LinearGradient(
             new Color(250, 250, 250, 10),
             new Color(255, 200, 200, 30),
             0
          )
       );
       $plot->label->border->setColor(new Color(20, 20, 20, 20));
       $plot->label->setPadding(3, 1, 1, 0);
       
       $graph->add($plot);
       $graph->draw();
       
    ?>
    j'utilise la librairie graphique d'artichow avec gd2 pour générer l'image. (ceux qui ne varie pas le but de ma question)

    PS: si possible juste l'image doit etre refresh est pas la totalité de la page...

    une idée? (et comme l'ajax j'ai pas encore trop touché je suis un peu a la rammasse)

    Merci

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Pas d'ajax non
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html>
    <body><br/><br/>
    	<div align="center">
    		<img id="theImage" src="tpperso.php" alt="Mon graphique"/>
    	</div>
    </body>
    </html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('theImage').src="tpperso.php?date="+escape(new Date())

  3. #3
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    j'avais pas pensé a ca ^^, pour ceux que ca interesse, mon code donne ca :

    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
    <html>
    <head>
    <script language="javascript">
    function refresh(){
    	document.getElementById('theImage').src="tpperso.php?date="+escape(new Date());
    	setTimeout("refresh()()",3000);
    }
    </script>
    </head>
    <body onLoad="refresh();">
    <br/><br/>
    	<div align="center">
    		<img id="theImage" src="tpperso.php" alt="Mon graphique"/>
    	</div>
    </body>
    </html>
    thx Fremy, tjs sur le coup ^^

    mais si je fais ca avec 10 graphes ca risque de devenir lourd en requettes nan? ou ca va?

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par avogadro
    j'avais pas pensé a ca ^^, pour ceux que ca interesse, mon code donne ca :

    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
    <html>
    <head>
    <script language="javascript">
    function refresh(){
    	document.getElementById('theImage').src="tpperso.php?date="+escape(new Date());
    	setTimeout("refresh()()",3000);
    }
    </script>
    </head>
    <body onLoad="refresh();">
    <br/><br/>
    	<div align="center">
    		<img id="theImage" src="tpperso.php" alt="Mon graphique"/>
    	</div>
    </body>
    </html>
    thx Fremy, tjs sur le coup ^^

    mais si je fais ca avec 10 graphes ca risque de devenir lourd en requettes nan? ou ca va?
    Ca risque de faire lourd... surtout que bon, une image c'est pas léger, et que raffraichir toutes les 3 seccondes

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTimeout(function(){refresh()},3000)
    les doubles parenthèses

  6. #6
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    et si tout de meme je voulais le faire en AJAX? (je sais je suis chiant ^^)

  7. #7
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par avogadro
    et si tout de meme je voulais le faire en AJAX? (je sais je suis chiant ^^)
    C'est simple c'est tout simplement impossible !

Discussions similaires

  1. [MySQL] Problème pour afficher une image dont le chemin est stocké dans la bdd
    Par cel.Saint-Louis dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2007, 08h49
  2. Pb pour afficher une image dont le lien est un champ d'une table
    Par h4milton dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 25/05/2007, 13h23
  3. Réponses: 4
    Dernier message: 22/02/2007, 10h01
  4. Réponses: 3
    Dernier message: 17/11/2006, 14h51
  5. [AJAX] Rafraichir une image
    Par fragmonster dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 01/11/2006, 13h13

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