Avatar billede haolan Nybegynder
07. september 2008 - 13:06 Der er 7 kommentarer og
1 løsning

Kalde et tal ned fra $_GET

Hej

Jeg er ved at lave et system der anvender open flash charts 2.
Når jeg genererer datafilen den skal hente sine data fra, skal jeg bruge nogle data fra querystring.

Jeg henter to værdier fra min query string der skal skabe to lige linier på min graf.

$set1 = (double) $_GET['set1'];
$set2 = (double) $_GET['set2'];

Men disse linier bliver af en eller anden årsag ikke vist i min chart.

Men hvis jeg skriver tallene direkte ind som fx:

$set1 = 75.44;
$set2 = 49.00;

Så bliver linerne fint nok vist.
Hvad kan være årsagen til dette?
Avatar billede coderdk Praktikant
07. september 2008 - 13:11 #1
prøv med

$set1 = floatval( $_GET['set1'] );
$set2 = floatval( $_GET['set2'] );
Avatar billede haolan Nybegynder
07. september 2008 - 13:15 #2
virker desværre heller ikke..

Jeg har prøvet at skrive $set1 = (double) "75.44";
Men det virker fint. Den kan bare ikke finde ud af det når det komme fra min querystring.

Dataene den genererer ser ens ud lige meget om jeg skriver det direkte ind eller kalder det fra min querystring.
Avatar billede haolan Nybegynder
07. september 2008 - 13:33 #3
Nu ser min querystring sådan her ud:

data-lines-2.php?month=8&min=60&max=75

hvis jeg skriver $set1 = floatval($_GET['month']) + 50; virker det fint (grunden til at jeg skriver +50 er blot at minimumsgrænsen på min chart er på 40.

Men skriver jeg $set1 = floatval($_GET['min']); virker det stadig ikke :S heller ikke selvom hvis jeg prøver at ligge lidt til ligesom ved month
Avatar billede haolan Nybegynder
07. september 2008 - 13:44 #4
har nu prøvet at omrokere min querystring:

data-lines-2.php?min=60&max=75&month=8

nu virker min=60, men max og month virker ikke. Det skal siges at month som sådan ikke bruges i min chart, den bruges bare til at finde de rigtige data fra databasen, hvilket den heller ikke kan hvis month står til sidst i min querystring.. Så det er altså kun det først argument i min querystring jeg kan bruge til noget :S
Avatar billede haolan Nybegynder
07. september 2008 - 14:02 #5
hmm
Udskriver jeg en count på min database selection virker det også fint.. Men min chart viser inden data vidst month står til sidst i min querystring :S

Jeg må give fortabt.. Det må være en syg syg flash bug..
Avatar billede coderdk Praktikant
07. september 2008 - 14:07 #6
Lad os se noget kode ;)
Avatar billede haolan Nybegynder
07. september 2008 - 14:31 #7
har snydt lidt.. Ved godt det er en fuskerløsning, men det virker hvis jeg gør som vist her:

    $query = split('s', $_GET['data']);   
   
    if(intval($query[0]))
    {
        $from = "2008-" . $query[0] . "-01";
       
        $lastDayOfMonth = date("t", strtotime($from));
        $to = "2008-" . $query[0] . "-" . $lastDayOfMonth;
       
        $userData = User::getData(0,0,$_SESSION['userid'], $from, $to);
    }
   

    if(floatval($query[1]) && floatval($query[2])) {
        $min_line = new line();
        $max_line = new line();

        $min_weight = floatval($query[1]);
        $max_weight = floatval($query[2]);
       
        $min_value = array();
        $max_value = array();
        $min_value[0] = $min_weight;
        $max_value[0] = $max_weight;
    }

Som i nok kan regne ud har jeg valgt kun at indsætte 1 argument i min kode og så sepererer dataene med s
Avatar billede haolan Nybegynder
30. september 2008 - 18:34 #8
Fandt frem til at det vidst er en intern bug i de charts jeg bruger..
Istedet har jeg samlet det hele i en streng og sepereret det med S og brugt split('s); til at trække det fra hinanden igen.. SÅ virker det..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester