Geselecteerde waarden in array, gescheiden door komma
Ik heb een script waarmee ik een grafiek kan plotten, maar tot nu toe is het de bedoeling dat je de waarden voor de x en y assen handmatig invult, maar ik zie het graag dynamisch.
Uit de url haalt hij het grafieknummer waar hij een grafiekje voor moet produceren, hij maakt een selectie uit de db, en moet de coordinaten (getallen) gescheiden door een komma printen.
Als in de oude situatie.
DB ziet er zo uit:
"Maps"
id - grafieknummer - xcoor - ycoor
Oude situatie:
Nieuwe situatie:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$grafieknummer = $_GET['id'];
$query1 = mysql_query("SELECT xcoor FROM maps WHERE grafieknummer LIKE '$grafieknummer'") or die (mysql_error());
$datax = implode(",", $query1);
print_r($datax);
$query2 = mysql_query("SELECT ycoor FROM maps WHERE grafieknummer LIKE '$grafieknummer'") or die (mysql_error());
$datay = implode(",", $query2);
print_r($datay);
?>
$grafieknummer = $_GET['id'];
$query1 = mysql_query("SELECT xcoor FROM maps WHERE grafieknummer LIKE '$grafieknummer'") or die (mysql_error());
$datax = implode(",", $query1);
print_r($datax);
$query2 = mysql_query("SELECT ycoor FROM maps WHERE grafieknummer LIKE '$grafieknummer'") or die (mysql_error());
$datay = implode(",", $query2);
print_r($datay);
?>
Het rammelt nog aan alle kanten. Stippen geeft hij gek genoeg wel weer. Kan iemand mij vertellen hoe ik onderstaande het beste uit kan schrijven?
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 20/06/2014 09:50:57 door - Ariën -
Code (php)
1
2
3
2
3
SELECT GROUP_CONCAT(xcoor) AS xcoor, GROUP_CONCAT(ycoor) AS ycoor
FROM maps
WHERE grafieknummer = ...
FROM maps
WHERE grafieknummer = ...
Als resultaat krijg je nu 1 rij terug met daarin alle xcoordinaten in 1 veld gescheiden door komma's en alle ycoordinaten in 1 veld gescheiden door komma's.
En bijvoorbeeld ook dat group_concat() dan ZEKER dezelfde volgorde hanteert voor de X en de Y
De output moet in ieder geval wel met beide variabelen $datax en $datay zijn (anders geeft hij de melding "Empty input data array specified for plot"), als in het voorbeeld. Lukt dat wel als je alles in één keer op wil vragen?
Ivo: elke column heeft een waarde, die in dezelfde row staat, als het goed is dan moet hij ze ook in de juiste volgorde weergeven. Maar misschien is sorteren op id nog niet eens zo'n rare!
Toevoeging op 20/06/2014 17:55:25:
De melding die ik nu krijg is "Check that the data is really specified as numeric data and not as strings."
Klaarblijkelijk werkt dit grafiekplottertje van JPGraph niet met strings, wat kan ik dan het beste doen?
Toevoeging op 20/06/2014 18:34:13:
OPGELOST! Met het volgende genereert hij de grafieken perfect naar de waarden in de database:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$grafieknummer = $_GET['id'];
$datax = array();
$datay = array();
$query = "SELECT xcoor, ycoor FROM maps WHERE grafieknummer = '$grafieknummer'";
if ($result = mysql_query($query)) {
while($data = mysql_fetch_array($result, MYSQL_NUM)) {
$datax[] = $data[0];
$datay[] = $data[1];
}
}
?>
$grafieknummer = $_GET['id'];
$datax = array();
$datay = array();
$query = "SELECT xcoor, ycoor FROM maps WHERE grafieknummer = '$grafieknummer'";
if ($result = mysql_query($query)) {
while($data = mysql_fetch_array($result, MYSQL_NUM)) {
$datax[] = $data[0];
$datay[] = $data[1];
}
}
?>