Daten von einer DB in eine andre verschieben

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

  • Daten von einer DB in eine andre verschieben

    Hallo,

    ich lasse mir mit folgendem Code den Inhalt einer
    Tabelle in einer Datenbank anzeigen:

    PHP-Code:
    <?php
      
    include ('config2.php');
      
    $abfrage "SELECT nickname, datum, verwendung, grund, typ,  betrag
                  FROM konto where nickname='" 
    $_POST['auswahl'] . "'";
      
    $ergebnis mysql_query($abfrage);
      while(
    $row mysql_fetch_object($ergebnis))
      {
      echo 
    "<table id='anmeldetabelle'><thead><tr><th colspan='2'>";
      echo 
    "<h3>Übernahme der Daten</h3></th></tr></thead>";
      echo 
    "<tbody><tr><td class='links'>Nickname</td>";  
      echo 
    "<td class='rechts'><input name='nickname' type='text'";
      echo 
    "size='30' class='feldi' value='$row->nickname'></td></tr>";
      echo 
    "<tr><td class='links'>Datum</td>";
      echo 
    "<td class='rechts'><input name='datum' type='text'";
      echo
    "size='30' class='feldi' value='$row->datum'></td></tr>";
      echo 
    "<tr><td class='links'>Verwendung</td>";
      echo 
    "<td class='rechts'><input name='verwendung' type='text'";
      echo 
    "size='30' class='feldi' value='$row->verwendung'></td></tr>";
      echo 
    "<tr><td class='links'>Grund</td>";
      echo 
    "<td class='rechts'><input name='grund' type='text'";
      echo 
    "size='30' class='feldi' value='$row->grund'></td></tr>";
      echo 
    "<tr><td class='links'>typ</td>";
      echo 
    "<td class='rechts'><input name='typ' type='text'";
      echo 
    "size='30' class='feldi' value='$row->typ'></td></tr>";
      echo 
    "<tr><td class='links'>Betrag</td>";
      echo 
    "<td class='rechts'><input name='betrag' type='text'";
      echo 
    "size='30' class='feldi' value='$row->betrag'></td></tr>";
      }
      
    mysql_close;
    ?>
    Das funktioniert auch ohne Probleme.

    Jetzt möchte ich mit folgendem Code,
    die Daten in eine Tabelle in einer anderen Datenbank
    einfügen.

    Dazu habe ich folgenden Code:

    PHP-Code:
    <?php  
    include('config1.php');
      
    $query=("create table $nickname(".
              
    "id int(10) not null AUTO_INCREMENT PRIMARY KEY,".
              
    "nickname text NOT NULL,".
              
    "datum date NOT NULL,".
              
    "verwendung text NOT NULL,".
              
    "grund text NOT NULL,".
              
    "typ text NOT NULL,".
              
    "betrag DECIMAL(10,2) NOT NULL".
              
    ")");
      
    $ok=mysql_query($query) or die(mysql_error());
      
    $query="insert into $nickname 
              (id, Nickname, Datum, Verwendung, Grund, Typ, Betrag)
               values ('','"
    .$nickname."','".$datum."','".$verwendung."',
                       '"
    .$grund."','".$typ."','".$betrag."')";
      
    $ok=mysql_query($query) or die(mysql_error());
    ?>
    Wenn ich es so mache, wird immer nur der letzte Eintrag
    in die neu erstellte Tabelle eingetragen.

    Wie schaffe ich es, das alle Einträge eingetragen werden?


    Grüße von Sven

  • #2
    Den INSERT-Query mit in die Schleife packen?

    Mal abgesehen davon kann das MySQL aber auch ganz ohne PHP:
    INSERT INTO $nickname (Nickname, Datum, Verwendung, Grund, Typ, Betrag) SELECT nickname, datum, verwendung, grund, typ, betrag) FROM konto WHERE nickname = "' . $_POST["auswahl"] . '"

    Und wieso ist der Tabellen-Name in einer Variablen?
    Legst du einzelne Tabellen für jeden Benutzer an? Das ist ein sehr schlechtes Vorgehen... besser eine große Tabelle machen und eine weitere Spalte anlegen mit der man die Datensätze der einzelnen Benutzer unterscheiden kann!

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar

    Lädt...
    X