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] Générer une image en ajax


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut [AJAX] Générer une image en ajax
    Bonjour,
    J'utilise Jpgraph pour faire la construction de mes courbes...
    Lorsqu'on arrive sur la page, un graphe se génère automatiquement.
    Je veux également qu'un autre graphe se fasse lorsque l'utilisateur choisis les données à afficher à l'aide de checkbox...
    Donc à chaque fois qu'il coche ou décoche une checkbox la courbe "devrait" changer.
    Mais j'ai juste une image "cassé".
    Voici mon code qui fait l'appel Ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $.ajax({
    		type: "POST",
    		url: "req_graphe.php",
    		data: "donnees="+req,
    		success: function(){
    		img = new Image();
    		img.src = "req_graphe.php";
    		$('#graphe2').html(img);
    		}
    	});
    req est ma requête sql qui fonctionne
    voici le code de req_graphe :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    $ma_requete = $_POST['donnees'];
    $exe = mysql_query($ma_requete);
    $array = mysql_fetch_array($exe);
     
     
    $datay1 = array($array[0] ,$array[1], $array[0]);
    $datay2 = array($array[0] ,$array[1], $array[0]);
    $datay3 = array($array[0] ,$array[1], $array[0]);
     
    // Setup the graph
    $graph = new Graph(420,226);
    $graph->SetScale("textlin");
     
    $theme_class= new UniversalTheme;
    $graph->SetTheme($theme_class);
     
     
     
    $graph->xaxis->SetTickLabels(array('€ initial','€ current','€ final'));
    $graph->ygrid->SetFill(false);
     
    $p1 = new LinePlot($datay1);
    $graph->Add($p1);
     
    $p2 = new LinePlot($datay2);
    $graph->Add($p2);
     
    $p3 = new LinePlot($datay3);
    $graph->Add($p3);
     
    $p1->SetColor("#01badc");
    $p1->SetLegend('Exploitation');
    $p1->mark->SetType(MARK_FILLEDCIRCLE,'',1.0);
    $p1->mark->SetColor('#01badc');
    $p1->mark->SetFillColor('#01badc');
    $p1->SetCenter();
    $p1->value->Show();
    $p1->value->SetFormat('%d');	
    $p1->value->SetColor('#01badc');
     
    $p2->SetColor("#f23d64");
    $p2->SetLegend('Bâtiment');
    $p2->mark->SetType(MARK_FILLEDCIRCLE,'',1.0);
    $p2->mark->SetColor('#f23d64');
    $p2->mark->SetFillColor('#f23d64');
    $p2->SetCenter();
    $p2->value->Show();
    $p2->value->SetFormat('%d');	
    $p2->value->SetColor('#f23d64');
     
    $p3->SetColor("#ffa800");
    $p3->SetLegend('Infrastructure');
    $p3->mark->SetType(MARK_FILLEDCIRCLE,'',1.0);
    $p3->mark->SetColor('#ffa800');
    $p3->mark->SetFillColor('#ffa800');
    $p3->SetCenter();
    $p3->value->Show();
    $p3->value->SetFormat('%d');	
    $p3->value->SetColor('#ffa800');
     
    $graph->legend->SetFrameWeight(1);
    $graph->legend->SetColor('#4E4E4E','#00A78A');
    $graph->legend->SetMarkAbsSize(8);
     
    // Output line
    echo $graph->Stroke();
    Mais malheureusement il ne s'affiche pas
    pourtant quand je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $graph->Stroke('images/test_graph.png');
    Je génère bien mon graphe, donc je pense que ca vient de l'ajax...
    merci de votre aide

  2. #2
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Bonjour,
    Ce code
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    img.src = "req_graphe.php";
    fait à nouveau un requête pour récupérer l'image sans les paramètres.

    Pour récupérer l'image il n'y a donc pas besoin d'AJAX !
    Il suffit de faire
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    img.src = "req_graphe.php?donnees="+req;

  3. #3
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Oui c'est vrai... pouquoi se compliquer la vie quand on peut faire simple lol
    euh mais ca ne fonctionne pas
    j'ai fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(tabcheckbox[0] == "Encours" && tabcheckbox[1] == "Enattente" && tabcheckbox[2] == "")
    {
    	var req = "SELECT blabla FROM matable WHERE tableau_statut BETWEEN 0 AND 99 AND tableau_type = 'blabla'";
    		img = new Image();
    		img.src = "req_graphe.php?donnees="+req;
    		$('#graphe2').html(img);
    		}
    }
    Et j'ai toujours l'image cassée

  4. #4
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Euh... du SQL directement en paramètre ??
    Donc si je viens sur ton site je peux faire ce que je veux dans ta base de données ?

    Sinon essaye déjà de voir ton image en mettant l'url (avec les paramètres) dans la barre d'adresse de ton navigateur... si tu obtient une page blanche, c'est que tu as un soucis dans le php ! (ce qui ne m'étonnerait pas)

  5. #5
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Undefined index donnees...

  6. #6
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    J'ai pas bien compris ton dernier post, mais je suppose que ça confirme que le problème vient du PHP. Tu devrais passer en paramètre seulement les données dont tu as vraiment besoin... parce que du SQL c'est vraiment pas conseillé !

Discussions similaires

  1. [AJAX] Afficher une image avec ajax
    Par Mister Nono dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/11/2007, 19h23
  2. [AJAX] Recadrer une image en ligne
    Par wishmastah dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2007, 09h37
  3. [AJAX] rafraichir une image dont le src est un .php en AJAX
    Par avogadro dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/12/2006, 19h48
  4. [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