Wie bekomme ich ein Array in eine Tabelle??

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

  • Wie bekomme ich ein Array in eine Tabelle??

    Hallo,
    ich bins schon wieder :-), aber ich weiß jetzt wirklich nicht mehr weiter. Mach schon den ganzen Tag an der Sch**** rum und hoff das ihr mir jetzt helfen könnt.
    Also ich hab ein numerischen Array mit vielleicht so 10 Einträgen und möchte diese 10 Einträge einmal als Spaltennamen in einer Tabelle in meiner Datenbank (mit Befehl "CREATE TABLE ...") und das andere Mal will ich sie in eine Datenbank eintragen lassen (mit Befehl "INSERT INTO ..."). So wie mache ich das, hab schon ziemlich viel versucht weiß aber einfach nicht mehr weiter.
    Ich hoffe ihr könnt mir nen bissle helfen.
    Danke FLO

  • #2
    PHP-Code:
    while($array=mysql_fetch_array($sql_result)){ 
    EDIT:
    oh, ich hätte genauer lesen sollen, is wahrscheinlich nich das was du suchst

    Kommentar


    • #3
      [color=red]ungetestet[/color]

      PHP-Code:
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';
      $array[] = 'dfdfdf';

      $tabellenname "deinnameeben";

      $sql_create "CREATE TABLE ".$tabellenname." (";
      $sql_insert "INSERT INTO TABLE ".$tabellenname." VALUES (";

      $max_array count($array);
      $i 0;
      foreach (
      $array as $key => $value) {
        
      $komma = ($i < ($max_array-1)) ? "," "";
        
      $sql_create.= $key " varchar(255)" $komma;
        
      $sql_insert.= "'".$value."'".$komma;
        
      $i++;
      }

      $sql_create.= ")";
      $sql_insert.= ")";

      // echo $sql_create;
      // echo $sql_insert; 

      EDIT:
      klammer entfernt. da war eine zuviel ...
      Zuletzt geändert von Abraxax; 04.02.2003, 12:47.
      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


      • #4
        also ich habs mal ausprobiert, es geht aber nicht. Vielleicht kannst du es selber einmal ausprobieren. Ich probiers auch nochmal.
        Trotzdem vielen Dank.
        FLO

        Kommentar


        • #5
          bis auf ein paar kleinigkeiten was sql betrifft, funktioniert es einwandfrei.
          ich habe mit gerade die ausgaben des scriptes genommen und manuell in phpmyadmin getestet.

          PHP-Code:
          <?php

          $array
          [] = 'dfdfdf';
          $array[] = 'dfdfdf';
          $array[] = 'dfdfdf';
          $array[] = 'dfdfdf';
          $array[] = 'dfdfdf';
          $array[] = 'dfdfdf';
          $array[] = 'dfdfdf';
          $array[] = 'dfdfdf';

          $tabellenname "deinnameeben";

          $sql_create "CREATE TABLE ".$tabellenname." (";
          $sql_insert "INSERT INTO ".$tabellenname." VALUES (";

          $max_array count($array);
          $i 0;
          foreach (
          $array as $key => $value) {
            
          $komma = ($i < ($max_array-1)) ? "," "";
            
          $sql_create.= "feld".$key " varchar(255)" $komma;
            
          $sql_insert.= "'".$value."'".$komma;
            
          $i++;
          }

          $sql_create.= ")";
          $sql_insert.= ")";

          echo 
          "<pre>";
          echo 
          "CREATE :\n";
          echo 
          $sql_create;
          echo 
          "\n\nINSERT :\n";
          echo 
          $sql_insert;
          echo 
          "</pre>";

          ?>
          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


          • #6
            Bins nochmal, seht euch mal das an. Es kommt bei mir zwar keine Fehlermeldung, aber es entsteht trotzdem keine neue Tabelle :-(.


            $anz = count($array);


            $tabelleneu = mysql_query("CREATE TABLE $tabelle ('

            for ($e=0; $e<$anz; $e++)
            {
            echo '$array[$e] CHAR(20) NOT NULL, ';
            }

            ')");

            Kommentar


            • #7
              nimm doch einfach mein script.

              so wie du das macht, kann es auch nciht funktionieren. du schreibst for ... in den string rein.

              du musst den sql.string erst basteln UND DANN ERST ausführen.
              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


              • #8
                ich blicks halt noch nicht so, sorry. Aber ich versuch dein Script die ganze Zeit auszuführen, es will aber nicht gehen. Kommt immer :
                Parse error: parse error in ...

                ich hab den Code jetzt so umgeändert, dass nur die Tabelle gemacht wird :

                [PHP]sql_create = "CREATE TABLE '$tabellenname' (";

                $max_array = count($array);
                $i = 0;
                foreach ($array as $key => $value) {
                $komma = ($i < ($max_array-1)) ? "," : "";
                $sql_create.= "feld".$key . " varchar(255)" . $komma;
                $i++;
                }

                $sql_create.= ")";

                $tabelleneu = mysql_query(sql_create);[PHP]


                Das müüste doch eigentlich gehen.
                FLO

                Kommentar


                • #9
                  ist ja klar, dass ein parse error kommt. du hast die definition von $array entfernt.

                  nimm doch mal bitte das script komplett 1:1 und führe es aus.

                  EDIT:
                  bitte verwende beim posten von code auch die php- bzw code-tags
                  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


                  • #10
                    ich habe das array schon drin, habs halt nur nicht hingeschrieben. Der Error kommt immer für die Zeile :

                    sql_create = "CREATE TABLE '$tabellenname' (";

                    Soll ich mal das ganze Script reinstellen. Vielleicht liegt der Fehler wo anders.
                    FLO

                    Kommentar


                    • #11
                      Original geschrieben von getty23
                      Soll ich mal das ganze Script reinstellen. Vielleicht liegt der Fehler wo anders.
                      wenn du das script von mit 1:1 genommen hast, kommt kein fehler. zumindest nicht bei mir ...
                      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


                      • #12
                        vielen, vielen, vielen, vielen danke, jetzt gehts. Ich häts wohl nie hinbekommen .
                        Kannst du mir vielleicht ne Seite empfehlen wo ich das mit der foreach Schleife nachlesen kann und der komischen Zeichensetzung.
                        FLO
                        Zuletzt geändert von getty23; 04.02.2003, 17:12.

                        Kommentar


                        • #13
                          http://de.php.net/manual/de/control-...es.foreach.php
                          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


                          • #14
                            also danke noch für den Link, der wird mir bestimmt helfen meine wenigen Kenntnisse über mysql zu erweitern .
                            FLO

                            Kommentar


                            • #15
                              ähm. foreach ist php.
                              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

                              Lädt...
                              X