Ungewollte Zeichen ersetzen

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

  • Ungewollte Zeichen ersetzen

    Hi wiedermal bins nur ICH :-(

    mit der u.a Funktion erstelle ich auf meinem Server eine Txt.datei .... soweit klappt das auch. leider sind in der txt.datei als Trennzeichen Kommas und keine Semikolons. Frage wie kann ich das ändern?
    Darüberhinaus sind einige Werte sind in Anführungsstrichelchen eingeschlossen - wie bekomme ich die weg?

    Bin für jede Hile sehr sehr dankbar!


    function mysql2access($dbconnection, $tablename, $outfile)
    {
    $fp=fopen($outfile,"w");
    $res=mysql_query("select orders_id, products_model, products_price, products_quantity from $tablename",$dbconnection);
    $nr=mysql_num_rows($res);
    //enumerate field types (and buffer them in an array for performance reasons)
    $nf=mysql_num_fields($res);
    for ($b=0;$b<$nf;$b++)
    {
    $c=mysql_field_type($res,$b);
    switch($c)
    {
    case "int":
    case "real":
    case "unknown":
    case "timestamp":
    case "numeric":
    case "decimal":
    default:
    $is_numeric[$b]=true;
    break;
    case "string":
    case "date":
    case "datetime":
    case "time":
    case "blob":
    case "char":
    case "varchar":
    case "text":
    $is_numeric[$b]=false; break;
    }
    }
    for ($a=0;$a<$nr;$a++)
    {
    $row=mysql_fetch_row($res);
    for ($b=0;$b<$nf;$b++)
    {
    $c=mysql_field_type($res,$b);


    if ($is_numeric[$b]==false)
    {
    $s=access_escape_string(strval($row[$b]));
    fputs($fp,"\"$s\"");
    } else {
    fputs($fp,strval($row[$b]));
    }



    if ($b<($nr-1)) fputs($fp,", ");
    }
    fputs($fp,"\n");
    }
    fclose($fp);
    }

    function access_escape_string($s)
    {
    $s2="";
    $sl=strlen($s);
    for ($a=0;$a<$sl;$a++)
    {
    $c=substr($s,$a,1);
    if ($c=="\"") $c="\"\"";
    $s2.=$c;
    }
    return $s2;
    }

  • #2
    hi

    probiermal:

    zeile :

    fputs($fp,"\"$s\"");

    ersetzen durch :

    fputs($fp,"$s");

    das sollte die Anfuehrundstriche wegmachen und

    zeile :

    if ($b<($nr-1)) fputs($fp,", ");

    ersetzten durch :

    if ($b<($nr-1)) fputs($fp,"; ");

    das sollte als trennzeichen semikolons setzen

    gruss von

    pau

    Kommentar


    • #3
      @pauino

      .... suuuuuuuuuuuuuuppppperrrrrrrrrrrrr ....

      ich danke dir sehr .... genau das wars ...... mein tag ist gerettet!


      gruß von einer glücklichen
      biene

      Kommentar

      Lädt...
      X