Tabellenabfrage in CSV oder XLS exportieren?

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

  • #16
    Original geschrieben von PHP-Boernie
    Darum geht es hier leider nicht. Die Abfrage von SHOW COLUMNS wird gar nicht irgendwo verwendet. Mit ein wenig überlegen hätte man drauf kommen können.
    OffTopic:

    ich bin davon ausgegangen, dass er das mittlerweile mal eingebaut hätte. zeit dafür wär es ja.


    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #17
      Es tut mir leid, dass ich euch auf die Nerven gehe, aber bis dato habe ich nur abfragen aus der DB und speichern in die DB benötigt. das Funktioniert auch.

      Und dieses Thema ist ganz neu für mich.

      So, hab nun den Code verwendet von vor ca 3 Posts.

      Jetzt kommt, wenn ich die Datei anklicke und öffne, eine Microsoft Excel Meldung:

      "Kann Datensatz 1 nicht lesen. Weiterhin jeden Fehler anzeigen?"

      Wenn ich die Datei aber speichere, wird diese gespeichert. Nur beim Öffnen dieser Datei kommt folgende Fehlermeldung:

      "Excel hat festgestellt, dass 'auswertung.csv' eine SYLK-Datei ist, aber es kann die Datei nicht laden. Entweder ist die Datei fehlerhaft, oder es ist kein gültiges SYLK-Dateiformat. Klicken Sie OK, um die Datei in einem anderen Format zu öffnen."

      Hier nochmals mein vollständiger Code:

      PHP-Code:
      $Auswahl=trim($_POST['Auswahl']);
      include(
      "db_connect_pw.php");
      $result mysql_query("SELECT * FROM zukunftsinvestments where Ort
       like '
      $Auswahl' ORDER BY ID DESC");
      $reihen mysql_num_rows($result);
      $zeigen floor($reihen 100);
      if(!
      $start) { $start 0; }
      $result1 mysql_query("SELECT * from zukunftsinvestments where Ort 
      like '
      $Auswahl' order by ID desc limit $start,100");
      if (
      $result

          if (
      $f fopen ("auswertung.csv"'w')) 
          { 
              
      $col_result mysql_query ('SHOW COLUMNS FROM zukunftsinvestments');
              while (
      $aCol mysql_fetch_array ($col_result)) {
                  
      fputs ($f$aCol[0].";");
              } 
      // while
              
      fputs ($f"\r\n");
              
              while (
      $r mysql_fetch_row ($result)) 
              { 
                  for (
      $i=0$i<count($r); $i++) {
                      
      $r[$i] = '"'.str_replace ('"','\"'$r[$i]).'"'
                  } 
      // for
                  
      fputs ($fimplode(';',$r)."\r\n"); 
              } 
      // while
              
              
      fclose ($f); 
          } else {
              echo 
      "Datei konnte nicht geöffnet werden"
          } 
      // if
      } else {
          echo 
      "MySQL-Fehler: ".mysql_error(); 
      // if
      ?> 
      LG, m-werk

      Kommentar


      • #18
        schau dir die csv-datei mal mit einem stinknormalen editor an, vielleicht siehst du dort einen fehler.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #19
          Ich hab mir mal die CSV angesehen.

          Die Überschriften stehen drinn aber da passt mir was nicht.

          Folgendes.

          Die Daten stehen so drinn:

          "46";"Test";"Nachname";"Vorname"

          Wenn ich den Code hernehme, ohne der Überschriften, funktionierts. Da stehen die Daten auch so drinn.

          Aber bei den Überschriften fehlt das " "

          So sieht die Überschrift in der Datei aus:

          ID;Firma;Nachname;Vorname

          LG, m-werk
          LG, m-werk

          Kommentar


          • #20
            So, ich hab nun versucht, auch bei den Datensätzen das "" wegzugeben. Es wird jetzt zwar in der CSV alles ohne " gespeichert.

            Aber ich kann dies dadurch nicht in Excel öffnen. Ich hab auch schon versucht, in die Überschrift das " einzugeben, aber damit komm ich nicht klar.

            LG, m-werk
            LG, m-werk

            Kommentar


            • #21
              Gelöst

              Ich depp:

              Natürlich kanns nur so gehen.
              PHP-Code:
              fputs ($f$aCol[0].'";"'); 
              Ich habe das ' vergessen. Ich habe den Code ja 1zu1 kopiert und da wars nicht drinn.

              Jetzt geht alles
              LG, m-werk

              Kommentar


              • #22
                Ach du Sch....., es geht doch noch nicht!

                Es wird in der Überschrift jetzt zwar das " mitübergeben aber am Anfang der Zeile bei ID fehlt als 1. Zeichen ein " und am Ende der Zeile soll nur ein " sein.

                Es steht aber am Ende ";"

                Das funktioniert noch nicht.
                LG, m-werk

                Kommentar


                • #23
                  Das mach ich nur weil ich mittleid habe

                  PHP-Code:
                  <?
                  $Auswahl=trim($_POST['Auswahl']);
                  include("db_connect_pw.php");
                  $result = mysql_query("SELECT * FROM zukunftsinvestments where Ort
                   like '$Auswahl' ORDER BY ID DESC");
                  $reihen = mysql_num_rows($result);
                  $zeigen = floor($reihen / 100);
                  if(!$start) { $start = 0; }
                  $result1 = mysql_query("SELECT * from zukunftsinvestments where Ort 
                  like '$Auswahl' order by ID desc limit $start,100");
                  if ($result) 
                  {     if ($f = fopen ("auswertung.csv", 'w')) 
                      {         
                          $col_result = mysql_query ('SHOW COLUMNS FROM zukunftsinvestments');
                          while ($aCol = mysql_fetch_array ($col_result)) {
                              $aResult[] = $aCol[0];
                          } // while
                          fputs ($f, "\"".implode ("\";\"", $aResult)."\";"."\r\n");
                          
                          while ($r = mysql_fetch_row ($result)) 
                          {             for ($i=0; $i<count($r); $i++) {
                                  $r[$i] = '"'.str_replace ('"','\"', $r[$i]).'"'; 
                              } // for
                              fputs ($f, implode(';',$r)."\r\n"); 
                          } // while
                          
                          fclose ($f); 
                      } else {
                          echo "Datei konnte nicht geöffnet werden"; 
                      } // if
                  } else {
                      echo "MySQL-Fehler: ".mysql_error(); 
                  } // if
                  ?>

                  Kommentar


                  • #24
                    Ich danke dir. Es funktioniert.

                    DANKE nochmals für deine Rücksicht mit mir.

                    LG, m-werk
                    LG, m-werk

                    Kommentar

                    Lädt...
                    X