4 Stimmen

Ziehen von Daten aus MySQL in ein JSON-Array

Ich versuche, Daten aus meiner Datenbank mit Json in PHP abzurufen. Ich habe einige Elemente, die ich spezifizieren muss, um sie dann auf einer Seite zu veröffentlichen.

Ich möchte die Daten aus mysql "holen" und mit json_encode zurückgeben. Wie kann ich das mit der SELECT-Methode machen. Einige haben PDO-Methoden verwendet und andere haben mysql_assoc benutzt, was mich verwirrt.

Zum Beispiel,

Ich habe Zeilen wie: 'id', 'title', 'start', 'backgroundColor'... usw. zusammen mit einem Standardwert für alle von ihnen. ($array[] = "someValue = default")

Ich möchte, dass es wie folgt exportiert wird:

array(
      'id' => 1,
      'title' => "someTitle",
      'start' => "2012-04-16",
      'backgroundColor' => "blue",
      'someValue' => "default",
      ...
      ),   ....
 ));

Wenn mir jemand dabei helfen könnte, mit allen Details, wäre das großartig!

10voto

Lawrence Cherone Punkte 44625

Wenn Sie dies mit PDO machen möchten, hier ist ein Beispiel:

query($sql)->fetchAll(PDO::FETCH_ASSOC);
//Um die Daten als JSON-Daten auszugeben
//header('Content-type: application/json');
//echo json_encode($result);

//Oder wenn Sie das Ergebnis vor der Ausgabe bearbeiten/manipulieren müssen
$return = [];
foreach ($result as $row) {
    $return[] = [ 
        'id' => $row['id'],
        'title' => $row['title'],
        'start' => $row['start'].' '.$row['time'],
        'backgroundColor' => $row['backgroundColor']
    ];
}
$dbh = null;

header('Content-type: application/json');
echo json_encode($return);
?>

5voto

Marc B Punkte 347897

Sie holen sich nicht "fetch to a json array".

Sie holen sich Ihre Datenbankergebnisse in ein PHP-Array und konvertieren dieses PHP-Array NACHDEM DAS HOLEN ABGESCHLOSSEN IST in einen JSON-String.

z.B.

$data = array();
while ($row = mysql_fetch_assoc($results)) {
   $data[] = $row;
}
echo json_encode($data);

1voto

tinybai Punkte 916

Sie können das Ergebnis aus MySQL abrufen und es dann in JSON formatieren

    $array = array();
    while($row = mysqli_fetch_array($result))
    {
        array_push($array,$row);
    }
    $json_array = json_encode($array);

0voto

Dhiraj Punkte 32304

Bitte überprüfen Sie die SELECT-Methoden hier

Im Allgemeinen würde es so aussehen

$data = array(); // Ergebnisvariable

$i=0

$query = "SELECT id,title,start,backgroundColor FROM my_table"; // Abfrage mit SELECT

$result = mysql_query($query);

while($row = mysql_fetch_assoc($result)){ // Ergebnisse durchlaufen
      $data['item'][$i]['id'] = $row['id']; // ähnlich weiter 
      ...
      ...

      $i++; 
}

header('Content-type: application/json'); // Ergebnis im JSON-Format anzeigen
echo json_encode(array(
     'success' => true,
     'data' => $data // das ist Ihre Datenvariable
));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X