Algemeen forum ontrent de ontwikkelng, design en hosting van weergerelateerde websites (dit laatste om een beetje on topic te blijven)
Door Snarf2000
#45605
Zo, het is lekker rustig op het fprum.
Ieder heeft nu schijnbaar de tijd om zich met mij te verdiepen in dit probleempje.

Ik probeer in JPGRAPH een aantal tags uit mijn taglist in een array te krijgen.

In HTML gebruik ik om een tag te includen de code:
Gaat allemaal prima.
Nu wil ik graag 8 van deze tags (1581 t/m 1588) achter elkaar met een komma er tussen om deze waarden naar een grafiek te krijgen.

Als ik zeg:
$ydata = array (5,6,8,5,4.5,6.1); (zelfs met een decimale punt er tussen)
dan gaat het goed.

Als ik zeg:
$ydata = array ((tags (1582)),(tags (1583)),(tags (1584)),(tags (1585)));
Dan gaat het mis.

De output geeft dan null waarden voor de grafiek.
Als ik de tags echo, zie ik alle waarden, maar staan ze dus niet in een array.

Wie o wie helpt mij een stukje. :unsure:

Frans
Door Adriaan
#45606
Hoi Frans,

Het is mij niet helemaal duidelijk wat de tags functie precies doet in dit geval.
Maar wat je als experiment kunt proberen is de tags waarde in een variabele te plaatsen en dan die in de array probeert te plaatsen.

Dus:
Code: Selecteer alles
$test = tags(1582);

Dan:
Code: Selecteer alles
$ydata = array(test,test,test);


Trouwens valt me nu op, er staan wel bijzonder veel haakjes in de $ydata regel!
In principe zou het zo moeten denk ik:

Code: Selecteer alles
$ydata = array(tags(1582), tags(1582), tags(1583));


Hopelijk helpt dit een stukje!

Mvg, Adriaan.
Door Snarf2000
#45611
Hoi Adriaan.
De tags komen uit mijn wx3.php bestand.
Deze wordt door WD gegenereerd en ieder uur op mijn website gezet.
Hierin staan een 2000 regels met waarden voor bv de temperatuur en aantal mm regen.

Als ik de wx3.php include, dan kan ik deze aanroepen.
bijvoorbeeld:
Het is nu graden.
Het is nu 10.3 graden.
ik krijg dus terug: 10.3

Tags 1581 t/m 1588 zijn mijn 1-Wire sensors voor de grondtemperaturen.

Jou regel: $ydata = array(tags(1582), tags(1582), tags(1583));
geeft mij terug:
7.47.46.9JpGraph Error: 25044 Cannot use auto scaling since it is impossible to determine a valid min/max value of the Y-axis (only null values).

Zou het kunnen dat de komma's niet meekomen en dat hij daardoor in de fout gaat?

Frans
Door Adriaan
#45615
Hoi Frans,

"7.47.46.9" zie ik staan voor de foutmelding, is dit uitvoer of hoort dat bij de foutmelding?

Ik ben wel benieuwd wat voor uitvoer komt als je dit probeert:

Code: Selecteer alles
$ydata = array(tags(1582), tags(1582), tags(1583));
print_r($ydata);


Kan misschien handig zijn om ook ff "$graph->Stroke();" uit te schakelen door er dit van te maken: "//$graph->Stroke();"; Zodat je de uitvoer in ieder geval te zien krijgt zonder eventuele foutmeldingen van jpgraph zelf.

Het probleem is waarschijnlijk een datatype probleem. Jpgraph verwacht een integer variabele of een double waarschijnlijk. Kan zijn dat de "tags" functie die in het include bestand zit wel een float-type variabele retourneert.

Laat maar even weten wat er uit die print_r komt!

Adriaan.
Door Snarf2000
#45617
Adriaan.

Met Strokes krijg ik:
7.57.57.4Array ( [0] => [1] => [2] => ) JpGraph Error: 25044 Cannot use auto scaling since it is impossible to determine a valid min/max value of the Y-axis (only null values).

Met stroke commented:
7.57.57.3Array ( [0] => [1] => [2] => )

Frans
Door wsEpe
#45618
Frans,
Ik heb een andere insteek; als je eerst de tags in een var zet en vervolgens in een array zet.

Code: Selecteer alles
$ydata = array(); 

for ($i = 1581; $i <= 1588; $i++) {
$data = tags($i);
array_push($ydata, $data);
}
 
print_r($ydata);
Door Snarf2000
#45619
wsEpe schrijft:
Frans,
Ik heb een andere insteek; als je eerst de tags in een var zet en vervolgens in een array zet.

Code: Selecteer alles
$ydata = array(); 

for ($i = 1581; $i <= 1588; $i++) {
$data = tags($i);
array_push($ydata, $data);
}
 
print_r($ydata);


Dat levert het volgende op:

8.07.47.37.37.06.96.76.5Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => )

Ik vraag ook wel wat he?

Frans
Door Luc
#45621
Snarf2000 schrijft:
De tags komen uit mijn wx3.php bestand.
Deze wordt door WD gegenereerd en ieder uur op mijn website gezet.
Hierin staan een 2000 regels met waarden voor bv de temperatuur en aantal mm regen.

Als ik de wx3.php include, dan kan ik deze aanroepen.
bijvoorbeeld:
Het is nu graden.
Het is nu 10.3 graden.
ik krijg dus terug: 10.3
Kun je het wx3.php bestand eens uploaden. Het lijkt erop alsof tags een functie is (gedefinieerd in wx3.php) die de inhoud van de tag naar de output buffer schrijft met een echo. In dat geval zal dit niet werken, dan zul je de tags functie herschrijven.

Gr,
Luc
Door Snarf2000
#45622
De wx3.php wordt gegenereerd door WD met wx3local.php als basis.
Misschien maakt dat iets duidelijker.
regel 1641 is de eerste 1-Wire tag.

Door het pad naar de wx3.php in te vullen op de website:
[hide]http://www.newtonandnoss.com/weather/tech/weather_scripts/wd_tags/tagsref.php[/hide] zie ik alle waarden die gegenereerd worden, met de juiste tag nummer er bij.

Frans
Bijlagen
(15.72 KiB) 196 keer gedownload
wx3.JPG
wx3.JPG (91.4 KiB) 2907 keer bekeken
Door jacg
#45625
Frans,

Maak er eens van:

tags(1582,strip,ret), dan heb je geen echo, wel de juiste waarde.

Staat trouwens duidelijk omschreven :P

Groeten,

Jacco