Sql in CSV exportieren - Punkt Problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?
    Last edited by LukasDallas; 14-03-2006, 09:26.

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

    Comment


    • #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

      Comment


      • #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

        Comment

        Working...
        X