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

Bibliothèques et frameworks PHP Discussion :

[Artichow] L'image ne peut etre affichée car elle contient des erreurs


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut [Artichow] L'image ne peut etre affichée car elle contient des erreurs
    s'il vous plait voilà cet simple exemple qui n'a pas marché il me dit


    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
     
    include "Artichow-php4-5/BarPlot.class.php";
     
     
    $graph=new Graph(400,400); // tracer le cadre pour le graph (instensier l'objet)
    $graph->setAntiAliasing(TRUE);//pour le trait soi lisse ()
     
    $values=array(19,42,15,-25,3);// les valeurs à ploter
     
    $plot=new BarPlot($values); // creation de l'objet histogramme avec $plot=
    //$plot=new LinePlot($values); // creation de l'objet histogramme avec $plot=
     
     
    //habillage
     $plot->setBarColor(
        new Color(250,230,180)
    	            );
    $plot->setSpace(5,5,NULL,NULL);				// l'espace tout autour pour quelle ne colle pas au cadre
    $plot->barshadow->setSize(3); //barchaddow c'est l'ombre porté
     
    $plot->barshadow->setPosition(Shadow::RIGHT_TOP);
    $plot->barshadow->setColor(new Color(180,180,180,10));
    $plot->barshadow->smooth(TRUE); 
    //fin habillage
     
     
    $graph->add($plot);//maintenant ajouter l'histogram au graph créé
    $graph->draw();// tracer le graphe
     
     
    ?>
    voilà l'erreur
    l'image <http://localhost/ministere/graohe.php> ne peut etre afichée car elle contient des erreurs

    svp comment corriger cette erreur

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Enlève le
    et voit s'il y a des erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    merci ,voilà
    j'ai enlevé tout les espaces le retour lignes et ça a bien
    maintenant j'ai envi de faire ce graphe à partir d'une table mysql
    voilà le code qui fonctionne
    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
     
    <?php
    include "Artichow-php4-5/Pie.class.php";
    $graph=new Graph(400,400); // tracer le cadre pour le graph (instensier l'objet)
    $graph->setAntiAliasing(TRUE);//pour le trait soi lisse ()
    $values=array(25,42,15,25,3);// les valeurs à ploter
    $plot=new Pie($values); // creation de l'objet histogramme avec $plot=
    //$plot=new LinePlot($values); // creation de l'objet histogramme avec $plot=
    //habillagee
    //$plot->setBarColor(
    //new Color(250,230,180));
    $plot->setSpace(8,8,NULL,NULL);				// l'espace tout autour pour quelle ne colle pas au cadre
    //$plot->barshadow->setSize(3); //barchaddow c'est l'ombre porté
    //$plot->barshadow->setPosition(Shadow::RIGHT_TOP);
    //$plot->barshadow->setColor(new Color(180,180,180,10));
    //$plot->barshadow->smooth(TRUE); 
    //fin habillage
    $graph->add($plot);//maintenant ajouter l'histogram au graph créé
    $graph->draw();// tracer le graphe
    ?>
    l'habillage je l'ai mis en comentaires car il ne fonctionnent pas.
    voilà les valeurs du champs nbr de la table (3,6,19,25).
    et voilà la requette de la selection de la table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    include "cnx.php";
    $sql="select * from question01"; 
     $res=mysql_query($sql);
     if ($res==FALSE)
    echo mysql_error();
    while ($line=mysql_fetch_array($res))
    {
    $r=$line['nbr'];
     
    }

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    dans ta boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $values[]=$line['nbr'];
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    ok merci bcp
    et si je travaille avec jpgraph,
    voila le code qui fonctionne bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    include ('gg/src/jpgraph.php');
    include ('gg/src/jpgraph_pie.php');
    $data = array(4, 8, 15, 16, 23, 42);
     
    $p = new PiePlot($data);
    $p->SetLabelType(PIE_VALUE_ABS);
    $p->value->SetFormat('%d');
    $p->SetGuideLines();
    $p->ExplodeSlice(1); // fait resortir la 2e part
    $g = new PieGraph(220, 200);
    $g->title->Set("Les nombres de \"Lost\"");
    $g->Add($p);
    $g->Stroke();
    comment fire avec ma requette sql précédente? je fait comme ça?


    $data[] = $line['nbr']; ???

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ta ligne 4 devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    include "cnx.php";
    $sql="select * from question01"; 
    $res=mysql_query($sql);
    while ($line=mysql_fetch_array($res))
    {
    $data[]=$line['nbr'];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    svp,
    voilà les deux fichiers celui du graphe et celui de la requette select
    il affiche message d'erreur l'mage contien des erreurs
    fichier : graphe_01.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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
     
    <body>
    <?php
    include "cnx.php";
    $db1=mysql_select_db("graphe");
    $sql="select * from question01"; 
    $res=mysql_query($sql);
    if ($res==FALSE)
    echo mysql_error();
    while ($line=mysql_fetch_array($res))
    {
    //$r=$line['nbr'];
    $data[] = $line['nbr'];
    }include "graphe.php";
    ?>
    </body>
    </html>
    fichier graphe.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
     
    <?php
    include ('gg/src/jpgraph.php');
    include ('gg/src/jpgraph_pie.php');
    //$data = array(4, 8, 15, 16, 23, 42);
    $p = new PiePlot($data);
    $p->SetLabelType(PIE_VALUE_ABS);
    $p->value->SetFormat('%d');
    $p->SetGuideLines();
    $p->ExplodeSlice(1); // fait resortir la 2e part
    $g = new PieGraph(220, 200);
    $g->title->Set("Les nombres de \"Lost\"");
    $g->Add($p);
    $g->Stroke();
    ?>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Toute la partie PHP va dans graphe.php
    et dans la partie HTML tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="graphe.php" />
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    je nai pas compris vous voulez dire j'ajoute cette ligne en haut de la page??ou??

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu ne connais pas le HTML, il va falloir l'apprendre.
    la balise <img> permet d'afficher une image, dans ton cas c'est ton graphique qui est construit pas graphe.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    voilà ou je l'ai mis mais ça marche pas
    graphe_01.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
     
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
     <body>
    <?php
    include "cnx.php";
    $db1=mysql_select_db("graphe");
    $sql="select nbr from graphe"; 
    $res=mysql_query($sql);
    if ($res==FALSE)
    echo mysql_error();
    while ($line=mysql_fetch_array($res))
    {
    //$r=$line['nbr'];
    $data[] = $line['nbr'];
    }?>
    <img src="graphe.php" />
    </body>
     
    </html>
    fichier graphe.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
     
    <?php
    include ('gg/src/jpgraph.php');
    include ('gg/src/jpgraph_pie.php');
    //$data = array(4, 8, 15, 16, 23, 42);
    $p = new PiePlot($data);
    $p->SetLabelType(PIE_VALUE_ABS);
    $p->value->SetFormat('%d');
    $p->SetGuideLines();
    $p->ExplodeSlice(1); // fait resortir la 2e part
    $g = new PieGraph(220, 200);
    $g->title->Set("Les nombres de \"Lost\"");
    $g->Add($p);
    $g->Stroke();
    ?>
    il s"affiche seulement le cadreavec une crois en haut à gauche

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai dit :
    Toute la partie PHP va dans graphe.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    le probleme est que le graphe rçoit vide le tableau le considere vide
    svp comment faire??

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as un peu debugué ou diagnostiqué ton problème ?
    Si oui qu'as-tu pu voir ?
    Si non montre nous au moins le code actuel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    voilà ce que j'ai fait

    graphe_01.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
    <body>
    <img src="graphe.php"  />
    </body>
    </html>

    graphe.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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
    <body>
    <?php header("Content-type: image/png");
     
    include "cnx.php";
    include ('gg/src/jpgraph.php');
    include ('gg/src/jpgraph_pie.php');
    $db1=mysql_select_db("graphe");
    $sql="select nbr from graphe"; 
    $res=mysql_query($sql);
    if ($res==FALSE)
    echo mysql_error();
    $data=array();
    //$data =[];
     
    while ($line=mysql_fetch_array($res))
    {
     
    $data[] = $line['nbr'];
     
    } 
     
    $p = new PiePlot($data);
    $p->SetLabelType(PIE_VALUE_ABS);
    $p->value->SetFormat('%d');
    $p->SetGuideLines();
    $p->ExplodeSlice(1); // fait resortir la 2e part
    $g = new PieGraph(220, 200);
    $g->title->Set("Les nombres de \"Lost\"");
    $g->Add($p);
    $g->Stroke();
    ?>
    </body>
    </html>
    mais ça n'affiche que le cadre de l'image avec une croix enhaut à gauche
    ou est l'erreur??je n'ai compris hier jusqu'à 3heur du matin et je l'ai pas trouvé

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il ne doit pas y avoir de HTML dans graphe.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    bonjour
    voilà j'ai tout enlevé mais la meme chose
    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
     
    <?php //header("Content-type: image/png");
    $con=mysql_connect("localhost","root","");  
    if ($con==FALSE)
    die("réssayez");
    include ('../gg/src/jpgraph.php');
    include ('../gg/src/jpgraph_pie.php');
    $db1=mysql_select_db("graphe");
    $sql="select nbr from graphe"; 
    $res=mysql_query($sql);
    if ($res==FALSE)
    echo mysql_error();
    $data=array();
    while ($line=mysql_fetch_array($res))
    {
     
    $data[] = $line['nbr'];
     
    } 
     echo "<pre>";
      print_r($data);
    echo "</pre>";
     
    $p = new PiePlot($data[0],$data[1]);
    //$p = new PiePlot($data);
    $p->SetLabelType(PIE_VALUE_ABS);
    $p->value->SetFormat('%d');
    $p->SetGuideLines();
    $p->ExplodeSlice(1); // fait resortir la 2e part
    $g = new PieGraph(220, 200);
    $g->title->Set("Les nombres de \"Lost\"");
    $g->Add($p);
    $g->Stroke();
    ?>

  18. #18
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    et quand j'execute directement graphe.php sans passer par graphe_01.php
    ça donne cette erreur

    Warning: array_reverse() expects parameter 1 to be array, string given in C:\wamp\www\gg\src\jpgraph_pie.php on line 62




    ( ! ) Warning: array_reverse() expects parameter 1 to be array, string given in C:\wamp\www\gg\src\jpgraph_pie.php on line 62
    Call Stack
    # Time Memory Function Location
    1 0.0017 375280 {main}( ) ..\graphe.php:0
    2 0.0735 5543800 PiePlot->__construct( ) ..\graphe.php:23
    3 0.0735 5543832 array_reverse ( ) ..\jpgraph_pie.php:62
    JpGraph Error: 15009 Illegal pie plot. Sum of all data is zero for Pie Plot

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    enlève également tous tes echo, print_r etc.
    ce fichier graphe.php va renvoyer les données d'un fichier image, il ne doit rien y avoir d'autre dedans.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    j'enleve aussi
    header("Content-type: image/png");

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [GD] L'image ne peut être affichée car elle contient des erreurs
    Par Denis Placé dans le forum Bibliothèques et frameworks
    Réponses: 18
    Dernier message: 15/01/2018, 13h23
  2. Réponses: 9
    Dernier message: 19/05/2015, 19h41
  3. [GD] L'image ne peut être affichée car elle contient des erreurs
    Par The Free Man dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/07/2009, 18h51
  4. Image ne peut être affichée car elle contient des erreurs !
    Par van-bom dans le forum Hébergement
    Réponses: 1
    Dernier message: 26/05/2008, 11h00
  5. [ImageMagick] Image ne pouvant être affichée car elle contient des erreurs
    Par hutchuck dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 09/12/2005, 13h59

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