Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablen Inhalt ausgeben

Einklappen

Neue Werbung 2019

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

  • Variablen Inhalt ausgeben

    Hallo Leute,

    Vielleicht weiß hier einer Rat.
    Ich will alle Daten aus einer Tabelle von einer Mysql Datenbank in einer .json Datei abspeichern.
    Wenn ich die Variable mit echo $inhalt auslese werden mir auch alle Daten wie
    gewünscht angzeigt. Mit "values": ['.$inhalt.'] wird nur der letzte Eintrag angezeigt.
    Woran kann es liegen?

    Schon einmal vielen Dank

    PHP-Code:
    <?php

        $mysqli 
    = new mysqli("localhost""XXX""XXX""XXX");
        if (
    mysqli_connect_errno()) {printf("Connect failed: %s\n"mysqli_connect_error()); exit();}


        
    $data mysqli_query($mysqli,"SELECT created FROM kurs");
        while(
    $info mysqli_fetch_array($data)){
         
    $inhalt $info['created'].', ';


    /* Json Datei lesen und schreiben */

        
    $dateiname 'jsonar-bcc';
        
    $code '{  
        "type": "line",  
        "title": {  
            "text": "Kurs-Charts"  
        },  
        "series": [  
            {  
                "values": ['
    .$inhalt.']  
            }  
        ]  
    }'
    ;

        
    $datei fopen($dateiname.'.json''w');
        
    fwrite($datei$code);
        
    fclose($datei);

        echo 
    $inhalt;
    }
    ?>
    Das wird in der json Datei geschrieben.
    Code:
    {  
        "type": "line",  
        "title": {  
            "text": "Kurs-Charts"  
        },  
        "series": [  
            {  
                "values": [2018-01-29 19:28:01, ]  
            }  
        ]  
    }

  • #2
    Du schreibst in der while schleife jedesmal die Datei neu. Also landet nur der letzte Eintrag in der Datei.

    Außerdem empfehle ich dir json_encode(), es macht keinen Sinn den JSON String manuell zu erstellen.

    Kommentar


    • #3
      Danke für die schnelle Antwort.
      Das ist mir schon bewusst das die Datei jedesmal neu geschrieben wird. Es sollten alle Einträge aus der Tabelle (ca. 500 Einträge) in der Datei geschrieben werden. Es wird aber nur der letzte Eintrag in die Datei geschrieben. Den Inhalt der Varible mit echo ausgegeben gibt das gewünschte Ergebnis mit alle Einträgen.

      Kommentar


      • #4
        Es wird aber nur der letzte Eintrag in die Datei geschrieben.
        Das liegt an:
        Du schreibst in der while schleife jedesmal die Datei neu.
        sh. auch http://php.net/fopen

        Kommentar


        • #5
          Ich möchte die Datei auch neu schreiben.

          Das Ergebnis sollte eigentlich so ausehen.
          Mit allen Daten aus der Tabelle.

          Code:
          {  
              "type": "line",  
              "title": {  
                  "text": "Kurs-Charts"  
              },  
              "series": [  
                  {  
                      "values": [2017-11-19 11:32:01, 2017-11-19 11:33:01, 2017-11-19 11:34:02, 2017-11-19 11:35:01, 2017-11-19 11:36:01, 2017-11-19 11:37:01, 2017-11-19 13:11:01, 2017-11-19 13:12:02, 2017-11-19 13:13:02, 2017-11-19 13:14:01, 2017-11-19 13:15:01, 2017-11-19 13:16:01, 2017-11-19 13:19:01, 2017-11-19 13:20:02, 2017-11-19 13:21:01, 2017-11-19 13:22:02, 2017-11-19 13:23:01, 2017-11-19 13:24:01, 2017-11-19 13:25:03, 2017-11-19 13:26:01, 2017-11-19 13:27:02, 2017-11-19 13:28:01, 2017-11-19 13:29:01, 2017-11-19 13:30:03, 2017-11-19 13:31:02, 2017-11-19 13:32:01, 2017-11-19 13:33:02, 2017-11-19 13:34:01, 2017-11-19 13:35:01, 2017-11-19 13:36:01, 2017-11-19 13:37:02, 2017-11-19 13:38:01, 2017-11-19 13:39:01, 2017-11-19 13:40:02, 2017-11-19 13:41:01, 2017-11-19 13:42:01, 2017-11-19 13:43:01, 2017-11-19 13:44:02, 2017-11-19 13:45:01, 2017-11-19 13:46:01, 2017-11-19 13:47:02, 2017-11-19 13:48:01, 2017-11-19 13:49:01, 2017-11-19 13:50:01, 2017-11-19 13:51:01, 2017-11-19 13:52:02, 2017-11-19 13:53:01, 2017-11-19 13:54:01, 2017-11-19 13:55:01, 2017-11-19 13:56:01, 2017-11-19 13:57:02, 2017-11-19 13:58:01, 2017-11-19 13:59:02, 2017-11-19 14:00:01, 2017-11-19 14:01:01, 2017-11-19 14:02:01, 2017-11-19 14:03:02, 2017-11-19 14:04:01, 2017-11-19 14:05:02, 2017-11-19 14:06:02, 2017-11-19 14:07:01, 2017-11-19 14:08:01, 2017-11-19 14:09:01, 2017-11-19 14:10:02, 2017-11-19 14:11:01, 2017-11-19 14:12:02, 2017-11-19 14:13:01, 2017-11-19 14:14:01, 2017-11-19 14:15:02, 2017-11-19 14:16:01, 2017-11-19 14:17:02, 2017-11-19 14:18:01, 2017-11-19 14:19:01, 2017-11-19 14:20:02, 2017-11-19 14:21:01, 2017-11-19 14:22:02, 2017-11-19 14:23:01, 2017-11-19 14:24:01, 2017-11-19 14:25:01, 2017-11-19 14:26:01, 2017-11-19 14:27:01, 2017-11-19 14:28:02, 2017-11-19 14:29:01, 2017-11-19 14:30:02, 2017-11-19 14:31:01, 2017-11-19 14:32:01, 2017-11-19 14:33:02, 2017-11-19 14:34:01, 2017-11-19 14:35:02, 2017-11-19 14:36:02, 2017-11-19 14:37:01, 2017-11-19 14:38:02, 2017-11-19 14:39:01, 2017-11-19 14:40:02, 2017-11-19 14:41:01, 2017-11-19 14:42:02, 2017-11-19 14:43:01, 2017-11-19 14:44:01, 2017-11-19 14:45:02, 2017-11-19 14:46:02, 2017-11-19 14:47:01, 2017-11-19 14:48:01, 2017-11-19 14:49:01, 2017-11-19 14:50:02, 2017-11-19 14:51:02, 2017-11-19 14:52:01, 2017-11-19 14:53:01, 2017-11-19 14:54:01, 2017-11-19 14:55:01, 2017-11-19 14:56:01, 2017-11-19 14:57:02, 2017-11-19 14:58:01, 2017-11-19 14:59:01, 2017-11-19 15:00:02, 2017-11-19 15:01:01, 2017-11-19 15:02:01, 2017-11-19 15:03:02, 2017-11-19 15:04:01, 2017-11-19 15:05:01, 2017-11-19 15:06:01, 2017-11-19 15:07:01, 2017-11-19 15:08:01, 2017-11-19 15:09:01, 2017-11-19 15:10:02, 2017-11-19 15:11:01, 2017-11-19 15:12:01, 2017-11-19 15:13:02, 2017-11-19 15:14:01, 2017-11-19 15:15:01, 2017-11-19 15:16:01, 2017-11-19 15:17:01, 2017-11-19 15:18:01, 2017-11-19 15:19:01, 2017-11-19 15:20:01, 2017-11-19 15:21:01, 2017-11-19 15:22:02, 2017-11-19 15:23:01, 2017-11-19 15:24:02, 2017-11-19 15:25:01, 2017-11-19 15:26:01, 2017-11-19 15:27:01, 2017-11-19 15:28:02, 2017-11-19 15:29:01, 2017-11-19 15:30:01, 2017-11-19 15:31:02, 2017-11-19 15:32:01, 2017-11-19 15:33:01, 2017-11-19 15:34:01, 2017-11-19 15:35:01, 2017-11-19 15:36:02, 2017-11-19 15:37:01, 2017-11-19 15:38:02, 2017-11-19 15:39:01, 2017-11-19 15:40:01, 2017-11-19 15:41:02, 2017-11-19 15:42:01, 2017-11-19 15:43:02, 2017-11-19 15:44:01, 2017-11-19 15:45:01, 2017-11-19 15:46:01, 2017-11-19 15:47:02, 2017-11-19 15:48:01, 2017-11-19 15:49:01, 2017-11-19 15:50:01, 2017-11-19 15:51:02, 2017-11-19 15:52:01, 2017-11-19 15:53:01, 2017-11-19 15:54:01, 2017-11-19 15:55:01, 2017-11-19 15:56:01, 2017-11-19 15:57:01, 2017-11-19 15:58:01, 2017-11-19 15:59:01, 2017-11-19 16:00:02, 2017-11-19 16:01:02, 2017-11-19 16:02:01, 2017-11-19 16:03:02, 2017-11-19 16:04:02, 2017-11-19 16:05:03, 2017-11-19 16:06:02, 2017-11-19 16:07:01, 2017-11-19 16:08:01, 2017-11-19 16:09:01, 2017-11-19 16:10:02, 2017-11-19 16:11:01, 2017-11-19 16:12:01, 2017-11-19 16:13:02, 2017-11-19 16:14:01, 2017-11-19 16:15:02, 2017-11-19 16:16:01, 2017-11-19 16:17:01, 2017-11-19 16:18:01, 2017-11-19 16:19:02, 2017-11-19 16:20:01, 2017-11-19 16:21:01, 2017-11-19 16:22:02, 2017-11-19 16:23:01, 2017-11-19 16:24:02, 2017-11-19 16:25:02, 2017-11-19 16:26:01, 2017-11-19 16:27:01, 2017-11-19 16:28:02, 2017-11-19 16:29:01, 2017-11-19 16:30:03, 2017-11-19 16:31:01, 2017-11-19 16:32:02, 2017-11-19 16:33:01, 2017-11-19 16:34:02, 2017-11-19 16:35:02, 2017-11-19 16:36:01, 2017-11-19 16:37:01, 2017-11-19 16:38:01, 2017-11-19 16:39:01, 2017-11-19 16:40:02, 2017-11-19 16:41:01, 2017-11-19 16:42:02, 2017-11-19 16:43:01, 2017-11-19 16:44:01, 2017-11-19 16:45:01, 2017-11-19 16:46:02, 2017-11-19 16:47:01, 2017-11-19 16:48:02, 2017-11-19 16:49:01, 2017-11-19 16:50:01, 2017-11-19 16:51:01, 2017-11-19 16:52:01, 2017-11-19 16:53:02, 2017-11-19 16:54:01, 2017-11-19 16:55:01, 2017-11-19 16:56:01, 2017-11-19 16:57:01, 2017-11-19 16:58:02, 2017-11-19 16:59:01, 2017-11-19 17:00:03, 2017-11-19 17:01:01, 2017-11-19 17:02:01, 2017-11-19 17:03:01, 2017-11-19 17:04:01, 2017-11-19 17:05:02, 2017-11-19 17:06:02, 2017-11-19 17:07:01, 2017-11-19 17:08:01, 2017-11-19 17:09:01, 2017-11-19 17:10:02, 2017-11-19 17:11:02, 2017-11-19 17:12:01, 2017-11-19 17:13:01, 2017-11-19 17:14:02, 2017-11-19 17:15:02, 2017-11-19 17:16:02, 2017-11-19 17:17:01, 2017-11-19 17:18:01, 2017-11-19 17:19:01, 2017-11-19 17:20:02, 2017-11-19 17:21:01, 2017-11-19 17:22:01, 2017-11-19 17:23:02, 2017-11-19 17:24:02, 2017-11-19 17:25:02, 2017-11-19 17:26:01, 2017-11-19 17:27:02, 2017-11-19 17:28:01, 2017-11-19 17:29:02, 2017-11-19 17:30:02, 2017-11-19 17:31:01, 2017-11-19 17:32:01, 2017-11-19 17:33:01, 2017-11-19 17:34:01, 2017-11-19 17:35:03, 2017-11-19 17:36:01, 2017-11-19 17:37:02, 2017-11-19 17:38:01, 2017-11-19 17:39:01, 2017-11-19 17:40:02, 2017-11-19 17:41:02, 2017-11-19 17:42:01, 2017-11-19 17:43:01, 2017-11-19 17:44:01, 2017-11-19 17:45:01, 2017-11-19 17:46:02, 2017-11-19 17:47:01, 2017-11-19 17:48:02, 2017-11-19 17:49:01, 2017-11-19 17:50:03, 2017-11-19 17:51:01, 2017-11-19 17:52:01, 2017-11-19 17:53:02, 2017-11-19 17:54:02, 2017-11-19 17:55:01, 2017-11-19 17:56:01, 2017-11-19 17:57:02, 2017-11-19 17:58:01, 2017-11-19 18:00:02, 2017-11-19 18:03:02, 2017-11-19 18:04:01, 2017-11-19 18:05:01, 2017-11-19 18:06:02, 2017-11-19 18:07:01, 2017-11-19 18:08:01, 2017-11-19 18:09:02, 2017-11-19 18:10:01, 2017-11-19 18:11:01, 2017-11-19 18:12:01, 2017-11-19 18:13:02, 2017-11-19 18:14:01, 2017-11-19 18:15:01, 2017-11-19 18:16:02, 2017-11-19 18:17:01, 2017-11-19 18:18:01, 2017-11-19 18:19:02, 2017-11-19 18:20:01, 2017-11-19 18:21:01, 2017-11-19 18:22:01, 2017-11-19 18:23:02, 2017-11-19 18:24:01, 2017-11-19 18:25:02, 2017-11-19 18:26:01, 2017-11-19 18:27:01, 2017-11-19 18:28:02, 2017-11-19 18:29:01, 2017-11-19 18:30:01, 2017-11-19 18:35:02, 2017-11-19 18:36:02, 2017-11-19 18:37:01, 2017-11-19 18:44:01, 2017-11-19 18:46:02, 2017-11-19 18:47:02, 2017-11-19 18:48:01, 2017-11-19 18:49:03, 2017-11-19 18:50:01, 2017-11-19 18:51:01, 2017-11-19 19:25:02, 2017-11-19 19:26:02, 2017-11-19 19:27:01, 2017-11-19 19:28:01, 2017-11-19 19:29:01, 2017-11-19 19:36:02, 2017-11-19 19:39:02, 2017-11-19 19:40:01, 2017-11-19 19:51:01, 2017-11-19 19:52:02, 2017-11-19 19:53:01, 2017-11-19 19:54:01, 2017-11-19 19:55:02, 2017-11-19 19:56:01, 2017-11-19 19:57:01, 2017-11-19 19:58:01, 2017-11-19 19:59:01, 2017-11-19 20:00:03, 2017-11-19 20:01:01, 2017-11-19 20:02:02, 2017-11-19 20:03:02, 2017-11-19 20:04:01, 2017-11-19 20:05:02, 2017-11-19 20:06:01, 2017-11-19 20:07:01, 2017-11-19 20:08:02, 2017-11-19 20:09:01, 2017-11-19 20:10:04, 2017-11-19 20:11:01, 2017-11-19 20:12:02, 2017-11-19 20:13:01, 2017-11-19 20:14:01, 2017-11-19 20:15:02, 2017-11-19 20:16:01, 2017-11-19 20:17:01, 2017-11-19 20:18:01, 2017-11-19 20:22:01, 2017-11-19 20:23:01, 2017-11-19 20:24:01, 2017-11-19 20:25:02, 2017-11-19 20:26:01, 2017-11-19 20:27:02, 2017-11-19 20:28:01, 2017-11-19 20:29:01, 2017-11-19 20:30:01, 2017-11-19 20:31:01, 2017-11-19 20:32:01, 2017-11-19 20:33:02, 2017-11-19 20:34:01, 2017-11-19 20:35:02, 2017-11-19 20:36:01, 2017-11-19 20:37:01, 2017-11-19 20:38:02, 2017-11-19 22:19:01, 2017-11-19 22:20:03, 2017-11-19 22:21:01, 2017-11-19 22:22:02, 2017-11-19 22:23:01, 2017-11-19 22:24:01, 2017-11-19 22:25:02, 2017-11-19 22:26:01, 2017-11-19 22:27:01, 2017-11-19 22:28:01, 2017-11-19 22:29:02, 2017-11-19 22:30:02, 2017-11-19 22:31:01, 2017-11-19 22:32:02, 2017-11-19 22:33:01, 2017-11-19 22:34:02, 2017-11-19 22:35:01, 2017-11-19 22:36:01, 2017-11-19 22:37:01, 2017-11-19 22:38:02, 2017-11-19 22:39:01, 2017-11-19 22:40:01, 2017-11-19 22:41:01, 2017-11-19 22:42:01, 2017-11-19 22:43:01, 2017-11-19 22:44:01, 2017-11-19 22:45:01, 2017-11-19 22:46:01, 2017-11-19 22:47:01, 2017-11-19 22:48:02, 2017-11-19 22:49:01, 2017-11-19 22:50:01]  
                  }  
              ]  
          }
          Es sieht aber so aus. Warum werden nicht alle Daten übergeben?

          Code:
           {  
              "type": "line",  
              "title": {  
                  "text": "Chart Loaded from External JSON File"  
              },  
              "series": [  
                  {  
                      "values": [2018-01-29 20:46:02, ]  
                  }  
              ]  
          }

          Kommentar


          • #6
            Du überschreibst dir die Datei ständig. Baue deine $inhalt - Variable in der while-Schleife zusammen und schreibe nach der Schleife deine Datei

            Kommentar


            • #7
              Wenn ich die While Schleife vorher beende, ändert das leider nichts am Ergebnis.
              Es wird trotzdem nur ein Datensatz übergeben und nicht alle.


              PHP-Code:
              <?php
              /* MySQL */
                  
              $mysqli = new mysqli("localhost""XXX""XXX""XXX");
                  if (
              mysqli_connect_errno()) {printf("Connect failed: %s\n"mysqli_connect_error()); exit();}

              /*  */

                  
              $data mysqli_query($mysqli,"SELECT created FROM bcc_kurs");
                  while(
              $info mysqli_fetch_array($data)){
                   
              $inhalt $info['created'].', ';


              /* Json Datei lesen und schreiben */

                  
              $dateiname 'jsonar-bcc';
                  
              $code '{  
                  "type": "line",  
                  "title": {  
                      "text": "Chart Loaded from External JSON File"  
                  },  
                  "series": [  
                      {  
                          "values": ['
              .$inhalt.']  
                      }  
                  ]  
              }'
              ;
                  echo 
              $inhalt;
              }

                  
              $datei fopen($dateiname.'.json''w');
                  
              fwrite($datei$code);
                  
              fclose($datei);

              ?>

              Kommentar


              • #8
                Wenn ich die While Schleife vorher beende ändert das leider nichts am Ergebnis
                Du überschreibst ja auch ständig die $inhalt Variable, sodass nur der letzte Datensatz aus der Schleife kommt.

                Kommentar


                • #9
                  Die Variablen $dateiname und $code gehören ebenfalls raus aus der while-Schleife. Außerdem musst du deine Inhaltsvariable vor der Schleife deklarieren und innerhalb der Schleife den Inhalt an diese Variable anhängen.

                  Kommentar


                  • #10
                    Ok Michga93 ich teste nochmal.

                    Kommentar


                    • #11
                      Zitat von Huette Beitrag anzeigen
                      Aber wenn ich $inhalt mit echo ausgeben lasse geht es.
                      STDOUT ist aber keine Variable.

                      Zitat von Huette Beitrag anzeigen
                      Was müsste ich ändern damit es läuft?
                      json_encode() verwenden, wurde aber schon mal erwähnt.

                      Kommentar


                      • #12
                        Zitat von michga93 Beitrag anzeigen
                        Außerdem musst du deine Inhaltsvariable vor der Schleife deklarieren und innerhalb der Schleife den Inhalt an diese Variable anhängen.
                        michga93 irgendwie brauch hierzu nochmal einen kleinen Gedankenanstoß



                        Soweit bin ich jetzt:
                        PHP-Code:
                        <?php 
                        /* MySQL */

                            
                        require_once("../include/config.inc.php");
                            
                        $mysqli = new mysqli($db_server$db_user$db_pass$db_name);
                            if (
                        mysqli_connect_errno()) {printf("Connect failed: %s\n"mysqli_connect_error()); exit();}

                        /* MYSQL zu JSON */

                            
                        $data mysqli_query($mysqli,"SELECT created FROM bcc_kurs");
                            while(
                        $info mysqli_fetch_array($data)){
                             
                        $inhalt $info['created'].', ';
                            } 

                             
                        $result json_encode(array (
                          
                        'type' => 'line',
                          
                        'title' => 
                          array (
                            
                        'text' => 'Chart Loaded from External JSON File',
                          ),
                          
                        'series' => 
                          array (
                            
                        => 
                            array (
                              
                        'values' => 
                              array ( 
                        $inhalt
                              
                        ),
                            ),
                          ),
                        ));


                        /* JSON Datei lesen und schreiben */

                            
                        $dateiname 'jsonar-bcc';
                            
                        $datei fopen($dateiname.'.json''w');
                            
                        fwrite($datei$result);
                            
                        fclose($datei);

                        ?>

                        Kommentar


                        • #13
                          Und weiter?

                          Kommentar


                          • #14
                            Zitat von hellbringer Beitrag anzeigen
                            Und weiter?
                            Was meinst du?

                            Kommentar


                            • #15
                              Zitat von Huette Beitrag anzeigen
                              Was meinst du?
                              Was ist jetzt mit dem Code? Bzw. was ist deine Erwartung ans Forum?

                              Kommentar

                              Lädt...
                              X