Sql in CSV exportieren - Punkt Problem

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

  • Sql in CSV exportieren - Punkt Problem

    Hallo!

    Ich exportiere eine SQL-Abfrage in eine csv-Datei.

    Problem: Die Abfrage gibt mir Zahlen raus (float), die mit einem Punkt getrennt sind und Excel wandelt diese Zahlen größtenteils in Datum um. Das hängt mit der Excel-Formartierung zusammen...

    Ich würde nun am liebsten vor dem Exportieren die Punkte in Komma umwandeln.

    Mit den Funktionen strpos() und str_replace() habe ich es nicht geschafft.

    So ist der bisherige Quelltext:


    PHP-Code:
     for($i=0$Export=""$i<pg_num_rows($result); $i++)
        {
        
    $o pg_fetch_object($result);

             
    #Hier ist mein Versuch Punkt mit Komma zu ersetzen
             
    $pos strpos ($o".");
             if (
    $pos === true){
             
    $o str_replace(".","_",$o);}
        

           
    $Spalte[] = str_replace("\"""\"\""$o->zn);}

           for(
    $j=0$j<count($Spalte); $j++)
              {
            
    $Export .= "\"" $Spalte[$j] . "\"";
            if(
    $j!=count($Spalte)-1)
            {
                
    $Export .= ";";
            }
        }
        
    $Export .= "\r\n";
        
    $Spalte "";
        }

        echo
    $Export
    Kann mir Jemand weiterhelfen?
    Zuletzt geändert von LukasDallas; 14.03.2006, 10:26.

  • #2
    http://www.php-resource.de/forum/sho...threadid=47906
    und wo ist denn dein Versuch . und , zu ersetzen?

    Kommentar


    • #3
      Hab den Fehler selber behoben. Jetzt läuft es!

      PHP-Code:
      for($i=0$Export=""$i<pg_num_rows($result); $i++)
          {
          
      $o pg_fetch_object($result);
          
             
      $o->zn str_replace(".",",",$o->zn);
             
      $Spalte[] = str_replace("\"""\"\""$o->zn);

             for(
      $j=0$j<count($Spalte); $j++)
                {
              
      $Export .= "\"" $Spalte[$j] . "\"";
              if(
      $j!=count($Spalte)-1)
              {
                  
      $Export .= ";";
              }
          }
          
      $Export .= "\r\n";
          
      $Spalte "";
          }

          echo
      $Export

      Kommentar


      • #4
        würde gerne deinen code benutzen, um meine komplette tabell mit allen spalten auszugeben ... bin allerdings ein neuling, und kenne mich noch nicht ganz so aus .... wofür steht dein "zn" ?

        habe schon eine csv hinbekommen, mit diesem code :

        PHP-Code:

        $ResultPointer 
        mysql_query("SELECT USERID,YOUR_NAME,ORGANISATION FROM survey_results");
         
        for(
        $i 0$Export ""$i mysql_num_rows($ResultPointer); $i++)
        {
            
        $Daten mysql_fetch_object($ResultPointer);
         
            
        $Spalte[] = str_replace("\"""\"\""$Daten->USERID);
            
        $Spalte[] = str_replace("\"""\"\""$Daten->YOUR_NAME);
            
        $Spalte[] = str_replace("\"""\"\""$Daten->ORGANISATION);
            
            for(
        $j 0$j count($Spalte); $j++)
            {
                
        $Export .= "\"" $Spalte[$j] . "\"";
         
                if(
        $j != count($Spalte)-1)
                {
                    
        $Export .= ";";
                }
            }
            
        $Export .= "\r\n";
            
        $Spalte "";
        }
         
        echo
        $Export
        da sind nur diese drei spalten drin, die restlichen fehlen.
        Kann mir jemand dabei helfen, allgemein alle spalten mit reinzubekommen ?

        Und : Wie muss ich vorgehen, wenn ich die Exceltabelle mit html erstellen lassen will ?

        Gruß Ikarus

        Kommentar

        Lädt...
        X