[PHP] JpGraph vars doorgeven

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb al een aantal dingen geprobeerd maar ik krijg mn grafiek niet aan het werk...
Deze php-noob :+ heeft het al op meerdere manieren geprobeerd, gezocht in de handleiding en op de website van JpGraph maar ik kom er niet uit.

Ik probeer heel simpel, mijn array door te geven aan de grafiek.php pagina zodat daar een grafiek mee getekend kan worden. Maar deze blijft de foutmelding geven dat de array leeg is..en ik weet zeker dat er wat in staat (dmv print_r(array)).

Sugesties :?


Grafiek.php
PHP:
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
<?php

    // ---------------------------------------------------------------
    // Maak een grafiek aan voor de temperatuur
    // ---------------------------------------------------------------

    include ("jpgraph.php");
    include ("jpgraph_line.php");


    // Get
    $gTitle = $_GET['gTitle'];
    $ydata = $_GET['ydata'];
    
    // Create the graph. These two calls are always required
    $graph = new Graph(300,200,"auto"); 
    $graph->SetScale("textlin");

    // Create the linear plot
    $lineplot=new LinePlot($ydata);
    $graph->Add($lineplot);

    $graph->img->SetMargin(40,20,20,40);
    $graph->title->Set($gTitle);
    $graph->xaxis->title->Set("X-title");
    $graph->yaxis->title->Set("Y-title");

    $graph->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);

    $lineplot->SetColor("red");
    $lineplot->SetWeight(2);

    //$graph->yaxis->SetColor("red");
    //$graph->yaxis->SetWeight(2);
    $graph->SetShadow();

    // Display the graph
    //$graph->img->SetExpired(false);
    $graph->Stroke();

?>


Overzicht.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    include("sessie.php");
    include("functions.php");
    //include("grafiek/grafiek.php");
?>

...heleboel code die er niet toe doet...

<?php
    // Waarden voor grafiek
    $ydata = array_reverse($ydata, FALSE); //moet omgedraaid ivm mysql select
    $gTitle = "testerdetest";
    
    //Grafiek aanmaken
    $ydata = $_POST['ydata'];
    $gTitle = $_POST['gTitle'];
    print "[img]'grafiek/grafiek.php'>";
?[/img]

[ Voor 11% gewijzigd door Verwijderd op 11-12-2005 19:24 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Je grafiek.php krijgt geen GET waarden mee, dus waar moeten die vandaan worden gehaald?

Ik denk dat als je vanuit je grafiek.php je waarden had afgedrukt je dat al wel had gezien ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedoel je:

PHP:
1
print "[img]'grafiek/grafiek.php?ydata=$ydata&gTitle=$gTitle'[/img]";


...want dat werkt evengoed niet. Of bedoel je wat anders?

Acties:
  • 0 Henk 'm!

  • Gwaihir
  • Registratie: December 2002
  • Niet online
Grafiek.php
PHP:
1
2
3
4
5
..
    // Get
    $gTitle = $_GET['gTitle'];
    $ydata = $_GET['ydata'];
..


Overzicht.php
PHP:
1
2
3
4
5
6
7
8
..
    $ydata = array_reverse($ydata, FALSE); //moet omgedraaid ivm mysql select
    $gTitle = "testerdetest";
    
    //Grafiek aanmaken
    $ydata = $_POST['ydata'];
    $gTitle = $_POST['gTitle'];
..

Je stopt je data in $ydata. De grafiek-maker overschrijft die met de data (geen?) uit $_GET['ydata']. Tussendoor overschrijf je ze zelf ook alvast, met de data (geen?) uit $_POST['ydata']. Dus, als $ydata (aanvankelijk) bevat wat je hebben moet. Laat dat er dan lekker in staan. ;)

[ Voor 8% gewijzigd door Gwaihir op 11-12-2005 19:40 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Birdie: die ydata moet echt doorgegeven worden vanuit het andere script aangezien die een image tag genereert waarin pas de aanroep naar grafiek.php zit. Variabelen vanuit het "aanroepende" script zijn dus niet bekend in grafiek.php ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nog even voor de duidelijkheid...de volgorde die ik wilde bereiken

- Overzicht.php: Bereken waarden voor array
- Overzicht.php: Roep Grafiek.php aan en geef de array door die getekend moet worden
- Grafiek.php: Teken grafiek met array

Ik heb geleerd dat POST niet werkt als er nergens op geklikt wordt (URL, Form). De variabelen meegeven in de image url werkt namelijk niet. Dus heb ik nu gebruik gemaakt van een sessie variabele, misschien niet de netste manier maar het werkt wel. Bedankt voor de reacties tot zo ver!

Overzicht.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
    $ydata = array();
    $gTitle = "";
    session_register("ydata");
    session_register("gTitle");
    
    ...doe bewerkingen...
    
    print "[img]'grafiek/grafiek.php'>";

?[/img]


Grafiek.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
    session_start();
    include ("jpgraph.php");
    include ("jpgraph_line.php");

    ...de rest...

    // Display the graph
    //$graph->img->SetExpired(false);
    $graph->Stroke();
?>

Acties:
  • 0 Henk 'm!

  • Reinder83
  • Registratie: September 2002
  • Laatst online: 18-09 14:44
Verwijderd schreef op zondag 11 december 2005 @ 19:31:
Bedoel je:

PHP:
1
print "[img]'grafiek/grafiek.php?ydata=$ydata&gTitle=$gTitle'[/img]";


...want dat werkt evengoed niet. Of bedoel je wat anders?
en als je doet:
PHP:
1
echo "[img]'grafiek/grafiek.php?ydata=".$ydata."&gTitle=".$gTitle."'[/img]";

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Reinder83: test het eens voor de gein zou ik zeggen ;).
Aangezien $ydata een array is werkt het op deze manier ook niet.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Gwaihir
  • Registratie: December 2002
  • Niet online
Creepy schreef op zondag 11 december 2005 @ 19:54:
Birdie: die ydata moet echt doorgegeven worden vanuit het andere script aangezien die een image tag genereert waarin pas de aanroep naar grafiek.php zit.
Ja, maar daar had jij al op gewezen. Ik wilde aanvullend even wijzen op het verklooien van de waarden in $ydata.

Afijn, TS: wat dacht je van een foreach loopje om $ydata als een leuk lijstje parameters mee te geven?
Pagina: 1