funkervogt
Goto Top

Kurze Frage zu einer PHP Funktion bzw Wertezuweisung.

Guten Morgen,

dieser Codeschnipsel

require_once 'phplot/phplot.php';  
$plot->SetTitle('Zaehlpunkte: Zp1, Zp2, ZP3');  

speziell die zweite Zeile, stellt mich vor die Frage:

Wie bekomme ich dieses mit Variablen befüllt.
Hab diverses schon probiert und seh wahrscheinlich den Baum vor lauter Wäldern nicht (oder so)!

Wäre für Hilfe dankbar!


Gruss

Uwe

Content-ID: 220965

Url: https://administrator.de/contentid/220965

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

colinardo
colinardo 01.11.2013 aktualisiert um 09:38:41 Uhr
Goto Top
Hallo Uwe,
hast du's schon so probiert:
$punkt1 = 10;
$punkt2 = 20;
$punkt3 = 30;
$title = 'Zaehlpunkte: '.$punkt1.','.$punkt2.','.$punkt3;  
$plot->SetTitle($title);
oder alternativ dann so:
$plot->SetTitle("Zaehlpunkte: $punkt1, $punkt2, $punkt3");  

Grüße Uwe
FunkerVogt
FunkerVogt 01.11.2013 um 09:47:56 Uhr
Goto Top
Macht er wie verrückt.. Cool!

und wie mache ich das mit:

$plot->SetLegend(array('ZP1', 'ZP2', 'ZP3'));  

???
colinardo
colinardo 01.11.2013 um 10:01:58 Uhr
Goto Top
wenn deine Variablen $ZP1,$ZP2, etc. heißen probier's mal so:
$plot->SetLegend(array($ZP1, $ZP2, $ZP3));
FunkerVogt
FunkerVogt 01.11.2013 um 10:30:20 Uhr
Goto Top
also ...

so gehts:

$punkta = "ZP1";  
$punktb = "ZP5";  
$punktc = "ZP9";  
$title = 'Zaehlpunkte: '.$punkta.','.$punktb.','.$punktc;  
$title2 = $punkta.','.$punktb.','.$punktc;  

$plot->SetLegend(array($punkta, $punktb, $punktc));

So gehts leider net:
$plot->SetLegend(array($title2));

Es muss aber die zweite Variante sein, da ich eine unterschiedliche
Anzahl von $punkt# habe. Also mal einen, mal 3 usw.!

:|
colinardo
colinardo 01.11.2013 um 10:43:17 Uhr
Goto Top
laut Doku von $plot geht auch ein String als Parameter, dann sieht das so aus:
$plot->SetLegend($title2);
FunkerVogt
FunkerVogt 01.11.2013 um 10:50:24 Uhr
Goto Top
Nicht ganz...

irgendwo fehlt dann ein Trenner.
Phplot stellt ja mit "SetLegend" eine Legende der Punkte mit definierten Farben dar.

Normal sollte sein:
ZP1 "Farbe1"
ZP5 "Farbe2"
ZP3 "Farbe3"

Wenn ich das als String einfüge (wie vorgeschlagen) habe ich:

ZP1,ZP5,ZP3 "Farbe1".

Blöd ne?
colinardo
colinardo 01.11.2013 um 11:09:03 Uhr
Goto Top
wie bitte ändern sich deine Anzahl an Variablen im Code ??
Du musst halt das Array mit Inhalt dynamisch erzeugen bzw. Einträge hinzufügen und dann dieses Array an SetLegend übergeben, ganz einfach fertig!
$array_legend = array($punkta,$punktb,$punktc);
$plot->SetLegend($array_legend);
oder ich versteh nicht was du sonst willst ....
FunkerVogt
FunkerVogt 01.11.2013 um 11:23:08 Uhr
Goto Top
Die Nutzer haben die Möglichkeit Zählpunkte auszuwählen.
Sprich ..
User A wählt z.B. Zählpunkt 1, 3 und 12
User B nur Zählpunkt 4.

desdawegen .. hat z.B. das SetLegend(Array) entweder:
$punkta, $punktb und $punktc mit den Werten ZP1, ZP3 und ZP12

oder nur

$punkta mit dem Wert ZP4.

Die Anzahl der Zählpunkte ($punkt#) sind also nicht in der Anzahl genau definiert.
colinardo
colinardo 01.11.2013 aktualisiert um 14:59:25 Uhr
Goto Top
einfach mit einer Schleife oder einer IF-Abfrage die ausgewählten Punkte durchlaufen und die Punkte dann zu einem Array mit array_push($array_legend,'ZPx') hinzufügen, dann brauchst du keine festen Variablen verwenden...Fertig.
FunkerVogt
FunkerVogt 03.11.2013 um 10:47:52 Uhr
Goto Top
Yup ... geht!

Danke Uwe