Ist bestimmt kein Riesenproblem - nur ich komm seit Tagen nicht weiter.
Aus einer SQL-Abfrage möchte ich ein Array erstellen und dies in JSON umwandeln.
Hier mein Code:
Bislang bekomme ich folgende Array-Struktur raus:
Array
(
[2014-04-29] => Array
(
[0] => 90.55
[1] => 89.90
[2] => 89.05
[3] => 79.54
[4] => 78.69
)
[2014-04-22] => Array
(
[0] => 89.96
[1] => 86.33
[2] => 92.16
[3] => 78.65
[4] => 87.20
)
usw.
Benötigen tue ich aber:
Array
(
[Datum: 2014-04-29] => Array
(
[Wert_0] => 90.55
[Wert_1] => 89.90
[Wert_2] => 89.05
[Wert_3] => 79.54
[Wert_4] => 78.69
)
[Datum: 2014-04-22] => Array
(
[Wert_0] => 89.96
[Wert_1] => 86.33
[Wert_2] => 92.16
[Wert_3] => 78.65
[Wert_4] => 87.20
)
...
Hat jemand eine Idee?
Aus einer SQL-Abfrage möchte ich ein Array erstellen und dies in JSON umwandeln.
Hier mein Code:
PHP-Code:
<?php
error_reporting (E_ALL | E_STRICT);
ini_set ('display_errors' , 1);
$db_link = mysqli_connect ("localhost","root", "")
or die ("... keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysqli_select_db($db_link, "TSI")
or die ("Die Datenbank existiert nicht.");
$names = array();
// Namen mit 5 höchsten Werten am letzten Datum ermitteln
$abfrage = "SELECT Datum, Name, Wert FROM Werte WHERE Datum = (SELECT max(Datum) FROM Werte) ORDER BY Wert DESC LIMIT 5";
$ergebnis = mysqli_query($db_link, $abfrage);
while($row = mysqli_fetch_object($ergebnis)) {
$names[] = $row->Name;
};
$data = array();
$data_all = array();
for ($i = 0; $i <= 4; $i++) {
$rs = mysqli_query($db_link, "SELECT Datum, Name, Wert FROM Werte WHERE Name = '".$names[$i]."' ORDER BY Datum desc LIMIT 10");
if ( $rs && mysqli_num_rows($rs) ) {
while( $row = mysqli_fetch_array($rs, MYSQLI_ASSOC) ) {
$data[$row['Datum']][$i] = $row['Wert'];
}
};
};
mysqli_close($db_link);
echo json_encode($data_all);
?>
Array
(
[2014-04-29] => Array
(
[0] => 90.55
[1] => 89.90
[2] => 89.05
[3] => 79.54
[4] => 78.69
)
[2014-04-22] => Array
(
[0] => 89.96
[1] => 86.33
[2] => 92.16
[3] => 78.65
[4] => 87.20
)
usw.
Benötigen tue ich aber:
Array
(
[Datum: 2014-04-29] => Array
(
[Wert_0] => 90.55
[Wert_1] => 89.90
[Wert_2] => 89.05
[Wert_3] => 79.54
[Wert_4] => 78.69
)
[Datum: 2014-04-22] => Array
(
[Wert_0] => 89.96
[Wert_1] => 86.33
[Wert_2] => 92.16
[Wert_3] => 78.65
[Wert_4] => 87.20
)
...
Hat jemand eine Idee?
Kommentar