• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Geschmacksfrage

Status
Für weitere Antworten geschlossen.

freak131

Neues Mitglied
Wer schaffts die funktion noch etwas zu "optimieren" ?
Ist natürlich nur ein fun thread, sind mir aber noch ein wenig viele zeilen und einige tolle ideen könnte man auch noch drin verwirklichen.

PHP:
<?php
    // CSV Datei.
    $csv = 'Name;nachame;feld
    anke;marie;lol';

        function csv2sql(&$csv,$sql,$tabelle)
        {
            foreach(explode("\n",$csv) as $line)
                echo 'INSERT INTO '.$tabelle.' ('.join(',',$sql).') VALUES ("'.join('","',array_map('addslashes',explode(';',$line))).'");<br />';
        }


    csv2sql($csv,array('vorname','nachname','email'),'tabelle');
?>
 
Werbung:
wenn du später den CSV Teil wirklich als Datei abspeicherst, kannst du file() beim einlesen benutzen. Das spart schonmal das explode im foreach (auch wenn um das foreach net drumkommst)

Ansonsten (Vorschlag)
PHP:
<?php
function csv2sql(&$csv,$sql,$tabelle) {
  foreach(explode("\n",$csv) as $line)
    vprintf("INSERT INTO %3\$s ('%2\$s') VALUES ('%1\$s');<br />\n",
      array_merge(
        (array) join("','",array_map('mysql_real_escape_string',explode(';',$line)))), 
        $sql,
        (array) $tabelle
      )
    );
}


    csv2sql($csv,array('vorname','nachname','email'),'tabelle');
?>

Du kannst es ja wieder in eine Zeile Quetschen (habs zum besseren lesen verteilt).
Eigentlich hat sich nichts verändert, ich finde es nur so vom Aussehen besser, weil man den Query string eher erkennt, finde ich.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben