Im zur Zeit meiner Daten aus einer MySQL-Datenbank mit dieser php bekommen:D3 Javascript Daten von mysql Uncaught Typeerror zieht
<?php
$username = "*****";
$password = "******";
$host = "localhost";
$database="db";
$server = mysql_connect($host, $username, $password);
$connection = mysql_select_db($database, $server);
$myquery = "
SELECT `this`, `that` FROM `table`
";
$query = mysql_query($myquery);
if (! $query) {
echo mysql_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++) {
$data[] = mysql_fetch_assoc($query);
}
$fp = fopen('empdata.json', 'w');
fwrite($fp, json_encode($data));
fclose($fp);
mysql_close($server);
?>
ich diesen HTML mit der vorherige JSON-Datei dann ausführen, die ich
d3.json("mypreviouslygeneratedjson.json", function (error, data) {
data.forEach(function (d)
{
...
}
...
erzeugt
Es alles gut geht, kann ich Balkendiagramme erzeugen, Kreisdiagramme usw. Aber sobald ich die 3 fopen, fwrite und fclose Linien mit dieser Zeile:
echo json_encode($data);
(plus I "mypreviouslygeneratedjson.json" mit der PHP-Datei zu ersetzen, die ich bereits erwähnt)
Sobald ich versuche, dies zu tun, ich einen Fehler in der Konsole:
Uncaught TypeError: Cannot read property 'forEach' of undefined
Was ist hier los? Ich benutze praktisch den gleichen json in beiden Fällen.
Sie haben versucht, die Daten auf der Konsole zu protokollieren? – thatOneGuy
@thisOneGuy, wenn ich die Daten im Inneren der d3.json Konsole loggen bekomme ich nichts. Wenn ich den PHP laufen lasse, erhalte ich die Daten auf der Webseite. – user1823812
Wie geht es mit der Übergabe der Daten an eine Variable und wenn Sie den PHP ausführen, setzen Sie einfach die Variable auf die neuen Daten? Dann werden Sie einfach die d3.json Linie loswerden – thatOneGuy