ten eerste excuus voor mijn domheid maar ik ben nu al 1.5 dag bezig maar ik kom er niet uit. En misschien is het heel simpel maar zie ik door de code de oplossing niet meer;

wat is het probleem:
In mijn database staab wedstrijden met bezoekers aantallen


ik doe een

select 
...
t.TeamName_Short as guestteam,
g.Attendance as attendence,
.....


attendence heeft dan als resultaat 10200,10056,14009,9889,10008,10340,10129..........
guestteam heeft dan als resultaat zwo,utr,aja,twe,fey............
[code]

Dit resultaat wil ik met jpgraph in een bargraph zetten
daarbij doe ik:

<?php
while($record = mysql_fetch_assoc($result_homeattendence))
{
$valueY = array($record[attendence]);
$valueX = array($record['guestteam']);
}

echo $valueY.'<br>';
echo $valueX;
?>
[code]

dit geeft als resultaat

14273
gra

Maar ik wil graag:
("10200","10056","14009","9889","10008","10340","10129","....)
en ("zwo","utr","aja","twe","fey","........)
hebben

welicht is het antwoord/oplossing heel simpel maar is zit even vast :-(
<?php
$valueX = array();
$valueY = array();
while($record = mysql_fetch_assoc($result_homeattendence))
{
$valueY[] = $record['attendence'];
$valueX[] = $record['guestteam'];
}

print_r($valueY);
echo '<br>';
print_r($valueX);
?>
En dan ga ik er verder vanuit dat je weet hoe te werken met arrays (en loops) en dat print_r dus alleen voor de demo is.
Erwin

bedankt voor je reactie.

Maar ...ik snap dus geen bal van hoe ik de data uit mijn kolommen attendence en guestteam in de $valueX[] en $valueY[] krijg

Gisteren had ik wel "iets" wat er op leek, maar dat zag er zo uit

(1020010056140099889100081034010129)
en
(zwoutrajatwefey)
dus geen separator tussen de waardes

IK ben nu even de weg kwijt :-(
mysql_* is trouwens deprecated, niet gebruiken! En je kunt altijd var_dump proberen om uit te vogelen wat je moet doen om waarden te vinden
Dit is het definieren van een array:
<?php
$valueX = array();
?>
Dit is een waarde toevoegen aan een array:
<?php
$valueY[] = $record['attendence'];
?>
Wat begrijp je dan nog niet?
Na afloop van je while loop is $valueX een array met daarin alle waardes uit de kolom attendance.
Erwin.

Klopt, nu heb ik inderdaad data in de array staan:

Array ( [0] => 10200 [1] => 10056 [2] => 14009 [3] => 9889 [4] => 10008 [5] => 10340 [6] => 10129 [7] => 9134 [8] => 10938 [9] => 8254 [10] => 8298 [11] => 11857 [12] => 12140 [13] => 10577 [14] => 10330 [15] => 10000 [16] => 11231 )
Array ( [0] => rkc [1] => gro [2] => aja [3] => utr [4] => wii [5] => aza [6] => psv [7] => zwo [8] => nec [9] => rod [10] => nac [11] => hee [12] => her [13] => vit [14] => twe [15] => vvv [16] => fey )

maar ik snap nog niet hoe ik de inhoud van de array naar het gewenste formaat

("10200","10056","14009","9889","10008","10340","10129","....) kan krijgen
Als niemand met iets korter* komt ... dit zou wel moeten werken
<?php
// ik ga er van uit dat $valueX een array is en waarden bevat
$result = '';
for ($i=0; $i<count($valueX); $i++) {
if ($i>0) {
$result .= ',';
}
$result .= '"' . $valueX[$i] . '"';
}
echo '(' . $result . ')';
?>

(*Met implode kan je ongetwijfeld ook van alles doen...)
Implode is hier inderdaad makkelijker voor:

<?php
$valueX = array();
$valueY = array();
while($record = mysql_fetch_assoc($result_homeattendence))
{
$valueY[] = $record['attendence'];
$valueX[] = $record['guestteam'];
}

echo '("' . implode('","', $valueY) . '")';
echo '("' . implode('","', $valueX) . '")';
?>

Maar als je het naar JSON wil hebben, (weet ik veel), gebruik dan json_encode() op je $valueX / $valueY.
Ronde haken is geen json. Een json array heeft vierkante haken en een json object heeft accolades. Waarom er dus ronde haken nodig zijn is nu even onduidelijk....
JSON was ook mijn eerste gedacht.
Behalve dat JSON met vierkante haakjes werkt.

----

Okay, misschien een beetje flauw, maar dit zou ook kunnen werken
<?php
$json = json_encode($valueY);
echo str_replace(']', ')', str_replace('[', '(', $json));
?>
Het begint er op te lijken. hoewel ik nog steend niet helemaal hoe een en andere werkt. en ik niet denk dat ik iets met JSON wil of moet doen, toch

Maar zoals gemeld wil ik het resultaat van de query gebruiken op met JPGRAPH een bargraph te maken

de waarde uit $valueX en $valueY wil daarvoor gebruiken

 


$result_homeattendence =mysql("select
{query}
);

$valueX = array();
$valueY = array();
while($record =  mysql_fetch_assoc($result_homeattendence))
{
    $valueY[] = $record['attendence'];
    $valueX[] = $record['guestteam'];
}

echo '("' . implode('","', $valueY) . '")';
echo '("' . implode('","', $valueX) . '")';


// Create the graph. These two calls are always required
$graph = new Graph(550,220,'auto');
$graph->SetScale("textlin");

$graph->SetBox(false);

//$graph->ygrid->SetColor('gray');
$graph->ygrid->SetFill(false);

$graph->xaxis->SetTickLabels($dataY);
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);

// Create the bar plots
$b1plot = new BarPlot($dataX);

// ...and add it to the graPH
$graph->Add($b1plot);
$b1plot->SetColor("black");
$graph->title->Set("Bezoekersaantallen");

// Display the graph
$graph->Stroke();

Reageren