Ergebnis 1 bis 11 von 11
  1. #1
    Avatar von petermeier
    petermeier ist offline Grünschnabel
    registriert
    16-02-2017
    Ort
    CH
    Beiträge
    6

    Question JSON Array generieren mit PHP und JavaScript

    Hallo JS-Weltler

    Ich bin neu in diesem Forum da ich auf der Suche nach Hilfe bin.
    Ich habe schon einige Beiträge gesehen, die ähnlich wie meine Frage(n) ist aber so richtig weiter gekommen bin ich durch die Beiträge nicht.

    Ziel ist es aus einem HTML5 Formular ein externes JSON file auf dem FTP Server zu kreieren, dass folgende Array Struktur aufweist:
    HTML-Code:
    {
    	"daten":[
    	{ "location": "Zurich", "date": "12.02.1963", "map": "img/zurich.jpg"},
    	{ "location": "Zurich2", "date": "12.02.1963", "map": "img/zurich.jpg"}
    ],
    	"daten2":[
    	{ "location": "Weinfelden", "date": "12.02.1993", "map": "img/weinfelden.jpg"}
    ]
    }
    Im Formular gibt es zwei <section> "daten" und "daten2" und jedes soll ein Array mit Objekten darstellen.
    Anschliessend lade ich die Daten mittels XMLHttpRequest wieder, was schon schön funktioniert.

    In der PHP Datei möchte ich gerne JavaScript verwenden und nicht jQuery ($.fn.serializeObject).
    Irgendwie muss ich jetzt das JSON file generieren (data.js) und dann die Arrays und die Objekte darin erstellen.
    Wie mache ich das? Ich wäre um eine Erklärung und ein Beispiel froh...

    Besten Dank
    Geändert von petermeier (17-02-2017 um 11:37 Uhr)

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.454

    AW: JSON Array generieren mit PHP und JavaScript

    auf dem server kannst du nur js benutzen, wenn dir dort node.js zur verfügung steht. ansonsten nur php. js ist per se eine browser sprache.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    Avatar von petermeier
    petermeier ist offline Grünschnabel
    registriert
    16-02-2017
    Ort
    CH
    Beiträge
    6

    AW: JSON Array generieren mit PHP und JavaScript

    Hi mikdoe

    Danke für deinen Hinweis. Bin aber ein bisschen verwirrt. Ich hatte bereits eine Lösung ein PHP file mit jQuery und da konnte ich eine JSON Datei auf den FTP Server speichern aber leider nicht im oben beschriebenen Format.
    Hier ist die ursprüngliche PHP Datei:
    PHP-Code:
    <?php

    $myFile 
    "data.json"// Json Datei
    $arr_data = array(); // Erstelle ein leeres Array

    try {
        
    //Daten aus dem Formular beziehen
        
    $formdata = array(
            
    'location' => $_POST['location'],
            
    'date' => $_POST['date'],
            
    'map' => $_POST['map'],
        );

        
    //Daten vom existierenden json-file holen
        
    $jsondata file_get_contents($myFile);

        
    // konvertiert Daten in Array
        
    $arr_data json_decode($jsondatatrue);

        
    // Pusht Formulardaten zum Array
        
    array_push($arr_data$formdata);

           
    //Convert updated array to JSON
           
    $jsondata json_encode($arr_dataJSON_PRETTY_PRINT);

        
    //Json Daten in das entspr. data.json file schreiben
        
    if (file_put_contents($myFile$jsondata)) {
            echo 
    'Daten wurden gespeichert';
        } else
            echo 
    "Fehler";
    } catch (
    Exception $e) {
        echo 
    'Caught exception: '$e->getMessage(), "\n";
    }
    ?>
    Aber wie erwähnt generiert das nicht die Arrays mit Objekten...
    Geändert von petermeier (17-02-2017 um 11:15 Uhr)

  4. #4
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: JSON Array generieren mit PHP und JavaScript

    Und wo ist da jetzt jQuery enthalten?

  5. #5
    Avatar von petermeier
    petermeier ist offline Grünschnabel
    registriert
    16-02-2017
    Ort
    CH
    Beiträge
    6

    AW: JSON Array generieren mit PHP und JavaScript

    @mikdoe / @miniA4kuser
    Ok, alles klar neuer Tag neues Glück/frischer Kopf..
    Jetzt sehe ich was ihr beiden gemeint habt.

    Das heisst, ich brauche Hilfe mein PHP so zu verändern, damit ich die, in meinem Eröffnungspost beschriebene JSON Struktur erhalte...

  6. #6
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: JSON Array generieren mit PHP und JavaScript

    $formdata hat aber eine andere Struktur wie den Beispiel aus deinem ersten Beitrag.
    Hoffe ich konnte helfen

  7. #7
    Avatar von petermeier
    petermeier ist offline Grünschnabel
    registriert
    16-02-2017
    Ort
    CH
    Beiträge
    6

    AW: JSON Array generieren mit PHP und JavaScript

    Ja, richtig habe ich angepasst (war aus einem Test mit anderen Daten...)

    Das Problem ist die Darstellung im JSON file resp. was muss ich im PHP file noch anpassen, damit diese Struktur geschrieben wird:
    PHP-Code:
    {
        
    "daten":[
        { 
    "location""Zurich""date""12.02.1963""map""img/zurich.jpg"},
        { 
    "location""Zurich2""date""12.02.1963""map""img/zurich.jpg"}
    ],
        
    "daten2":[
        { 
    "location""Weinfelden""date""12.02.1993""map""img/weinfelden.jpg"}
    ]

    anstelle von dieser:
    PHP-Code:
     {
            
    "location""Zurich",
            
    "date""12.02.1963",
            
    "map""img/zurich.jpg"
        

    Besten Dank
    Geändert von petermeier (17-02-2017 um 11:37 Uhr)

  8. #8
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: JSON Array generieren mit PHP und JavaScript

    Statt
    PHP-Code:
    // Pusht Formulardaten zum Array
    array_push($arr_data$formdata); 
    mal
    PHP-Code:
    // Pusht Formulardaten zum Array
    $arr_data['daten'][] = $formdata
    probieren?
    Hoffe ich konnte helfen

  9. #9
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.454

    AW: JSON Array generieren mit PHP und JavaScript

    PHP <=> Javascript
    Server <=> Client

    !!!!
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  10. #10
    Avatar von petermeier
    petermeier ist offline Grünschnabel
    registriert
    16-02-2017
    Ort
    CH
    Beiträge
    6

    AW: JSON Array generieren mit PHP und JavaScript

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Statt
    PHP-Code:
    // Pusht Formulardaten zum Array
    $arr_data['daten'][] = $formdata
    Das sieht schon mal viel versprechend aus. Vielen Dank
    Wenn ich jetzt noch ein Array erstelle
    PHP-Code:
    $arr_data['daten1'][] = $formdata
    Wie kann ich dann sagen welche Daten von meinem Formular in welches Array gespeichert werden?
    Textfeld1 soll in "daten" gespeichert werden Textfeld2 soll in "daten1" gespeichert werden.

  11. #11
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: JSON Array generieren mit PHP und JavaScript

    Indem du dir aussagekräftige Variablennamen festlegst und dann deine Formulardaten in mehrere Arrays aufteilst und diese dann hinzufügst, ungefähr so:
    PHP-Code:
    // Daten aus dem Formular beziehen
    // und Textfelder den entsprechenden Arrays zuweisen
    $arrayFormData1 = array(
        
    'Textfeld1 ' => $_POST['Textfeld1']
    );
    $arrayFormData2 = array(
        
    'Textfeld2 ' => $_POST['Textfeld2']
    );

    // Daten vom existierenden JSON-file holen
    $stringJsonData file_get_contents($myFile);

    // Konvertiert JSON-string in Daten-Array
    $arrayJsonData json_decode($stringJsonDatatrue);

    // Pusht Formulardaten zum Daten-Array in den Bereich 'daten1'
    $arrayJsonData['daten1'][] = $arrayFormData1;

    // Pusht Formulardaten zum Daten-Array in den Bereich 'daten2'
    $arrayJsonData['daten2'][] = $arrayFormData2;

    // Konvertiert Daten-Array in  JSON-string
    $stringJsonData json_encode($arrayJsonDataJSON_PRETTY_PRINT); 
    Hoffe ich konnte helfen

Ähnliche Themen

  1. Javascript Array ergibt leeren JSON-String
    Von GetIT im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 19-04-2015, 23:47
  2. AJAX und JSON - ein Array Object der JSON laden nicht alle
    Von kleene-chris85 im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 24-07-2012, 00:57
  3. JSON Objekt zu Javascript-Array?
    Von Veyrne im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 14-10-2011, 14:59
  4. Javascript-Array in JSON-String umwandeln
    Von trashmaxx im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 07-09-2010, 01:20
  5. JSON in Javascript Array umwandeln
    Von grailsaction im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 25-09-2009, 16:15

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •