datenimport per php-datei

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

  • datenimport per php-datei

    Hi!

    ich will eine *.csv-datei in eine tabelle der mysql-datenbank einlesen.
    das ganze soll jedoch nicht per phpmyadmin geschehen, sondern durch ein php-skript!

    leider kann ich LOAD DATA INFILE nicht verwenden, weil mir die FILE PRIVILEGES auf dem Server fehlen und die mein webhoster nicht freigibt!

    nun kam mir folgende idee:

    die csv-datei würde eine spalte enthalten (maschinennummer) und in jeder zeile würde eine Zahl stehen!

    und nun wird es (für mich ) schwierig:

    gibt es irgendeine möglichkeit, dass php die datei zeilenweise in einem array speichert und dieses array dann gleich in die tabelle geschrieben wird!?

    irgendwie nach folgendem motto:

    delete * from maschinen...



    -speichere die zeile 1 der csv-datei in einem array
    -insert array into maschinen

    -speichere die zeile 2 der csv-datei in einem array
    -insert array into maschinen

    ...bis die komplette csv-datei abgearbeitet ist!

    wie müsste das skript schematisch aussehen!?

    PHP-Code:

    <?php  

    include("config.php");

    $db mysql_connect($host$user$password);
    mysql_select_db($db$db);

    $sql 'DELETE FROM `maschinen`'

    // Request info
    $result mysql_query($sql);
    if (!
    $result) {
    echo(
    "<P>Error performing query: " .
    mysql_error() . "</P>");
    exit();
    }

    //bis daher müsste es doch so stimmen!?
    //nun bin ich aber mit meinem latein am ende!!

    ?öffne *.csv
    ?schleife{ ?=?
    ?
    speichere 1.zeile in einem array
    insert "array" into maschinen 
    ?}

    ?>
    Wäre sehr dankbar für HILFE!!! is supi wichtig!!
    dürfte ja nicht sehr umfangreich werden, mir fehlen bloß die funktionen!!

    gruß

    karibikjoe

  • #2
    wenn du nicht unendlich viele einträge in der datei hast, sollte es so auf die schnelle passen.
    PHP-Code:
    $data file('datei.txt');
    if (
    count($data)>0)
    {
        
    $sql "INSERT INTO tabelle (maschinenname) VALUES (".implode('),(',$data).")";
        
    $res mysql_query($sql) or die(mysql_error());

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      load data infile geht ja net...
      Zuletzt geändert von Seccho; 03.09.2003, 16:33.
      _____________
      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

      Kommentar


      • #4
        @Seccho: da redet ja auch keiner von!

        Kommentar


        • #5
          Ich zuvor... deswegen script wieder gelöscht...
          _____________
          Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
          [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

          Kommentar


          • #6
            (kann man ja nicht ahnen... )

            Kommentar

            Lädt...
            X