Ankündigung

Einklappen
Keine Ankündigung bisher.

automatischer Import von json-listen in eine mysql Datenbank

Einklappen

Neue Werbung 2019

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

  • automatischer Import von json-listen in eine mysql Datenbank

    Hallo,
    ich versuche gerade eine aus einer JSON-Liste in eine MYSQL Datenbank zu importieren. Dazu habe ich dieses Skript gefunden und angewendet. Ich bekomme aber diesen Fehler Code:


    Warning: Invalid argument supplied for foreach() in C:\xampp1\htdocs\insertjson.php on line 14
    done

    Ich benutze diese JSON-Liste: map_world_data.js . Ich kann mir vorstellen dass der Fehler daher kommt, dass die Endung js anstatt json ist. Meine 2 Frage ist wie kann ich die einzelnen Atrribute wie description oder coordinate aus dem JSON laden. Unten befindet sich der PHP-Code und die Liste.

    Danke für eure Hilfe.


    map_world_data.js

    Code:
    var places = {
        "type": "FeatureCollection",
        "features": [
    
    //cities Belgium
            {
                "type": "Feature",
                "properties": {
                    "description": "<strong>Bruges/strong><p>-</p>",
                    "icon": "Towns", "art": "0.5", "fun": "0.5", "castle": "0.5",  "beach": "0.5",  "museen": "0.5", "history": "0.5", "outdoor": "0.5", "market": "0.5",
                    "significance": "0.6",
                    "towns_s": "0",
                    "popularity": "-",
                    "places_of_interest": "-",
                    "costs": "-",
                    "hours_of_opening": "-",
                    "comments": "-",
                    "time_to_spend_average": "-",
                    "image_show": src = "https://en.m.wikipedia.org/wiki/Bruges",
                    "image_show2": src = "https://wikitravel.org/wiki/en/index.php?title=Bruges&mobileaction=toggle_view_mobile"
                },
                "geometry": {
                    "type": "Point",
                    "coordinates": [3.23333333, 51.21666667]
                }
            },
            {
                "type": "Feature",
                "properties": {
                    "description": "<strong>Mons/strong><p>-</p>",
                    "icon": "Towns", "art": "0.5", "fun": "0.5", "castle": "0.5",  "beach": "0.5",  "museen": "0.5", "history": "0.5", "outdoor": "0.5", "market": "0.5",
                    "significance": "0.6",
                    "towns_s": "0",
                    "popularity": "-",
                    "places_of_interest": "-",
                    "costs": "-",
                    "hours_of_opening": "-",
                    "comments": "-",
                    "time_to_spend_average": "-",
                    "image_show": src = "https://en.m.wikipedia.org/wiki/Mons",
                    "image_show2": src = "https://wikitravel.org/wiki/en/index.php?title=Mons&mobileaction=toggle_view_mobile"
                },
                "geometry": {
                    "type": "Point",
                    "coordinates": [3.95, 50.45]
                }
            },....
    PHP-Code:

    <?php
    //json

    $connect mysqli_connect("localhost","root","","map");

    $filename ="map_world_data.js";

    $data =file_get_contents($filename);

    $array json_decode($datatrue);



    foreach (
    $array as $row)
     {



        
    $sql ="INSERT INTO map_world2(Feature.properties.description) VALUES('".$row["description"]."')";

        
    mysqli_query($connect$sql);
    }

    echo 
    "done"
    ?>


  • #2
    Die Dateiendung ist schlussendlich irrelevant, der Inhalt ist wichtig. Was du uns da zeigst ist nicht valides json. Validier es und beheb den Fehler. Das File darf natürlich nur das JSON-Objekt enthalten, keine Variablen-Deklaration oder sonst irgendwelchen Code.

    https://jsonlint.com/

    Kommentar


    • #3
      danke

      Kommentar

      Lädt...
      X