Per PHP DB Import

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

  • Per PHP DB Import

    Hallo,

    ich weiß das hier schon einiges darüber geschrieben wurde aber irgendwie verstehe ich das nicht ganz so und es klappt bei mir auch nicht.

    Also ich habe folgendes Problem, ich habe Daten die per CSV IMportiert werden sollen, die Felder heißen user_id, user_name, user_pass, diese sollen per csv aus Excel in die DB per PHP übergeben werden.

    DIe CSV Datei sieht so aus:

    user_id;user_name;user_pass
    ;Maier;sibuna
    ;test;noname
    ;EDB;826826

    Das Problem ist die ID, soll automatisch von der DB vergeben werden deswegen habe ich da nichts rein geschrieben. Desweiteren kommt da noch ein feld hinzu 'user_partner_id' diese wird von $active_user_id genommen bzw. soll genommen werden. also der der gerade im System eingelogt ist. Habe keien Idee wie ich das hin bekomme.
    Ich hoffe Ihr könnt mir helfen.

    Schon mal Danke
    Superburni

  • #2
    Mit dem mySQL-Seitigen LOAD DATA INFILE wirst Du mit den Anforderungen nicht weiterkommen. Ich würds so machen:

    1. Datei einlesen mit file
    2. Zeilen parsen mit Explode
    3. In jedes Zeilen-Array die $active_user_id einfügen
    4. Array mit MySql-INSERT in die Datenbank füllen

    für die automatische ID-Generierung empfiehlt sich, die entsprechende Spalte zu einem AutoIncrement zu machen.

    Kommentar


    • #3
      HI,

      nun wäre es nur noch nicht schlecht wenn das einer für mich in einen script rohbau umsetzen könnte, hab zwar schon einiges gemacht aber das kapiere ich ncoh nciht so ganz.

      Danke für eurer verständniss

      Kommentar


      • #4
        Versuch es und lege mal einen Rohbau an. Wir helfen dann gerne bei den Details weiter.

        Kommentar


        • #5
          So, um
          das mit explode zu testen habe ich volgendes gemacht.

          PHP-Code:
          $datei './test.csv';
          $open fopen($dateir);
          $daten explode (';'$open);
          echo 
          $daten[0]; 

          also ausgabe kommt:
          Resource id #2 aber nicht was in der datei drin steht, was habe ich falsch gemacht?
          Zuletzt geändert von superburni; 24.10.2004, 14:39.

          Kommentar


          • #6
            RTFM!

            fopen Sind genug beispiele...

            Kommentar


            • #7
              Das Problem liegt aber nicht in der Zeile fopen, sonder aus dem explode der nachher ans echo übergeben wird kommt der Text als ausgabe, dahcte das wäre logisch, das mit fopen ist ja auch richtig Datei wird zum lesen geöffnet.

              Kommentar


              • #8
                Das Problem liegt aber nicht in der Zeile fopen,
                Ich weiß! Aber wenn du die Seite mal durchlesen würdest, schließlich habe ich den Link nicht umsonst gepostet, dann wüsstest du jetzt, was du falsch machst!

                Kommentar


                • #9
                  PHP-Code:
                  $datei './test.csv';
                  $open fopen($dateir);
                  $daten explode (';'$open);
                  echo 
                  $daten[0]; 
                  nun kommt als ausgabe array aber immer noch nicht ein einziges wort
                  was in der Datei steht

                  Kommentar


                  • #10
                    und lesen tust du aus prinzip nicht, richtig?

                    Kommentar


                    • #11
                      Mal so:

                      resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]])
                      fopen() bindet eine benannte Resource, welche mittels filename spezifiziert wurde, an einen Stream.
                      Sagt uns, dass in $open keinesfalls der Inhalt gespeichert ist. Um an diesen ran zukommen, lesen wir entweder weiter, und sei es bis zu den User Contributed Notes, oder aber wie gucken mal unter "Siehe auch:". Natürlich rein interessehalber. Und zufällig finden wir dann auch fgets(). Und siehe da, da wird dir der Code schon hingeschissen, genauso wie es der Fall ist, wenn du hier im Forum nach Textdatei ausgeben o.ä. suchst.

                      Kommentar


                      • #12
                        Deine Tipps isnd auhc nicht sehr hilfreich...

                        Kommentar


                        • #13
                          Nicht dein ernst!

                          Wenn du meinen anweisungen mal gefolgt wärest, dann hättest du jetzt nen kompletten snippet. aber dann lass es. mir isses gleich. in diesem sinne

                          Kommentar


                          • #14
                            PHP-Code:

                            <?PHP
                            $datei 
                            './test.csv';
                            $open fopen($dateir)
                                    or die (
                            "Konnte Datei nicht lesen");
                            $i 0;
                            $inhalt = array();
                            $test = array();
                            while ( ! 
                            feof$open ))
                                    {
                                    
                            $zeile fgets$open3096 );
                                    
                            $inhalt[$i] = $zeile;
                                    ++
                            $i;
                                    
                            $test explode(';'$inhalt);
                                    }
                            //$daten = explode (';', $open);
                            echo $test[0];
                            ?>
                            so wenn cih die ganze Datei auslese zeigt er mir den ganzen Inhlat an somit geht fopen schon mal.
                            aber warum zeigt er wenn ich den rest per explode bearbeiten will nur array an? also die ausgabe des echo unten.

                            Kommentar


                            • #15
                              Geht ja doch.

                              aber warum zeigt er wenn ich den rest per explode bearbeiten will nur array an?
                              weil $inhalt auch ein array ist.

                              Aber da du so brav mitmachst, verrate ich dir ein Geheimnis. Wobei ich eigentlich soviel selbstständigkeit erwartet hätte, dass du da selbst hinkommst!

                              Kommentar

                              Lädt...
                              X