Ankündigung

Einklappen
Keine Ankündigung bisher.

JSON aus SQL Datenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JSON aus SQL Datenbank

    Hallo zusammen,

    ist die Ausgabe völlig albern und man kann es viel schlanker gestallten oder ist das in Ordnung so?

    Habe immer gedacht, es gibt PHP Funktionen für solche Ausgaben.

    Habe die Ausgabe nach meinem Vorbild gestalltet. Mein Zeil erreiche ich auch. Sieht halt nur sehr wild aus:

    https://www.codeyourapp.de/tools/que...count=3&mode=0

    Code:
    $pdoStmnt = $pdoObject->prepare("SELECT
    ID,
    kunde,
    auftragsnummer_d3,
    einsatzort,
    DATE_FORMAT(einsatz_von, '%d.%m.%Y') AS einsatz_von,
    DATE_FORMAT(einsatz_bis, '%d.%m.%Y') AS einsatz_bis
    FROM auftrage WHERE DATE(NOW()) BETWEEN einsatz_von AND einsatz_bis");
    $pdoStmnt->execute();
    
    $results = $pdoStmnt->fetchALL(PDO::FETCH_ASSOC);
    $json = json_encode($results);
    echo "
    {
      \"diagnostics\": {
        \"count\": 3,
        \"mode\": 0,
        \"created\": \"2020-04-02 13:56:22\"
      },\"quotes\":";
    print($json);
    echo "}";

  • #2
    Hä was? Du kannst das Array doch erstmal komplett erstellen und dann einfach nur nach json_encode ausgeben, was soll das rumgebastel mit Strings.
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Das reicht für merine Anforderung aber nicht. Ich benötige dieses Format:

      JSON-Object Bsp.: diagnostics
      JSON-Array Bsp.: quotes

      Ich greife mit einer Androidapp gezielt auf die Abrufdaten "diagnostics" zu und dann die Arrayinhalte "quotes".
      Code:
      { 
         "diagnostics": {     "count": 3,     "mode": 0,     "created": "2020-04-02 13:56:22"   },   "quotes": [     {       "id": "schopenhauer",       "author": "Arthur Schopenhauer",       "text": "Es ist wirklich unglaublich, wie nichtssagend und bedeutungsleer, von außen gesehn, und wie dumpf und besinnungslos, von innen empfunden, das Leben der allermeisten Menschen dahinfließt. Es ist ein mattes Sehnen und Quälen, ein träumerisches Taumeln durch die vier Lebensalter hindurch zum Tode, unter Begleitung einer Reihe trivialer Gedanken."     },     {       "id": "wieland",       "author": "Christoph Martin Wieland",       "text": "In and'rer Glück sein eig'nes finden, in dieses Lebens Seligkeit, und and'rer Menschen Wohlfahrt gründen, schafft göttliche Zufriedenheit."     },     {       "id": "herder",       "author": "Johann Gottfried Herder",       "text": "Die erste und letzte Philosophie ist immer Religion gewesen. Auch die wildesten Völker haben sich darin geübt: denn kein Volk der Erde ist völlig ohne sie, so wenig als ohne menschliche Vernunftfähigkeit und Gestalt, ohne Sprache und Ehe, ohne eigene menschliche Sitten und Gebräuche gefunden worden."     }   ] }

      Wenn ich nur json_encode($results) ausgeben, habe ich nur die Arrays:

      Ausgabe:

      [{"ID":"3","kunde":"Testkunde ","auftragsnummer_d3":"2020000123","einsatzort":"K \u00f6ln","einsatz_von":"01.04.2020","einsatz_bis" :"20.04.2020"}]

      und somit fehlt mir:

      Code:
      { 
         "diagnostics": {     "count": 3,     "mode": 0,     "created": "2020-04-02 13:56:22"   },   "quotes":
      und am Ende

      Code:
      }

      Kommentar


      • #4
        PHP-Code:
        $array['quotes'] = $results;
        $array['diagnostics']['count'] = 3;
        // etc.

        json_encode($array); 

        Kommentar


        • #5
          Zitat von jonas3344 Beitrag anzeigen
          PHP-Code:
          $array['quotes'] = $results;
          $array['diagnostics']['count'] = 3;
          // etc.

          json_encode($array); 


          Vielen DANK! Ich Trottel! Ja, mein Ansatz war völlig albern!

          Kommentar

          Lädt...
          X