elosh: auto_increment - Wert herausbekommen??? ( PHP + MYSQL)

Hallo Leute,

und zwar hab ich folgendes Problem:

Ich habe 2 Tabellen( Author + Person). Beide werden nach dem Ausfüllen eines Formulars gefüllt.
Nun möchte ich aber irgendwie das ID aus Person (ist auf auto_increment gesetzt) gleich person_id in Author ist.
 Wie geht das????????
Ich kann doch erst nach dem submit an die ID rankommen.

Hilfe!!!!!!

Gruss elosh

  1. Hi!

    Ich habe 2 Tabellen( Author + Person). Beide werden nach dem Ausfüllen eines Formulars gefüllt.
    Nun möchte ich aber irgendwie das ID aus Person (ist auf auto_increment gesetzt) gleich person_id in Author ist.
    Wie geht das????????
    Ich kann doch erst nach dem submit an die ID rankommen.

    Sehe Dir mal folgende Funktion an: http://de3.php.net/mysql-insert-id

    Und bookmarke Dir das Manual (http://de3.php.net/) fürs nächste mal ;-)

    Grüße
    Andreas

    1. Hi!

      Und bookmarke Dir das Manual (http://de3.php.net/) fürs nächste mal ;-)

      besser [http://de3.php.net/manual/de]

      Grüße
      Andreas

      1. ich dank dir, aber irgenwie komm ich doch net wirklich weiter.

        Also, dat ist mein Code:

        for($i=1; $i<count($HTTP_POST_VARS); $i++)
         {
         if ($HTTP_POST_VARS['surname'.$i]=="")
          {
           break;
         }
         $querypp="INSERT INTO person VALUES ('";
         $querypp.="0','"; //auto inkrement
         $querypp.="0','";  //$person_ID
         $querypp.="0','";  //$paper_ID
         $querypp.="0','";  //$contact_ID
         $querypp.=$HTTP_POST_VARS['surname'.$i];
         $querypp.="','";
         $querypp.=$HTTP_POST_VARS['name'.$i];
         $querypp.="','";
         $querypp.=$HTTP_POST_VARS['email'.$i];
         $querypp.="','";
         $querypp.=$HTTP_POST_VARS['institution'.$i];
         $querypp.="','";
         $querypp.="0','";
         $querypp.="0','";
         $querypp.="0";
         $querypp.="')";
         $querypp.=";";

        print $querypp;
         }

        Jetzt soll, wenn der nächste Teil ausgeführt wird, die ID gleich eingetragen werden:

        for($i=1; $i<count($HTTP_POST_VARS); $i++)
         {
         if ($HTTP_POST_VARS['surname'.$i]=="")
          {
           break;
          }
         $queryat="INSERT INTO author VALUES ('";
         $queryat.="0','"; //auto inkrement
         $queryat.="0','";  //$person_ID
         $queryat.="0','";  //$paper_ID
         $queryat.="0','";  //$contact_ID
         $queryat.=$HTTP_POST_VARS['pcMember'.$i];
         $queryat.="','";
         $queryat.="0";  //registration
         $queryat.="');";
         print $queryat;
         }

        while ( list ( $key, $value ) = each ( $HTTP_POST_VARS ) ) {
         echo "<b>$key</b> : $value<br>";
         }
         mysql_query($queryat)
          or die("<b>Query at failed!</br>");

        muss ich nicht vorher submitten?

        1. Halihallo elosh

          ich dank dir, aber irgenwie komm ich doch net wirklich weiter.

          Du denkst IMHO zu kompliziert.

          Jetzt soll, wenn der nächste Teil ausgeführt wird, die ID gleich eingetragen werden:

          Also: beim "ersten Teil" liest du die generierte ID wie Andreas es beschreibt aus,
          übergibst diese dem "zweiten Teil" (ob es nun ein völlig anderes Script, ein völlig neuer
          Prozess, oder im selben Prozess ist, ist völlig irrelevant, denn dies hat nur
          Auswirkungen darauf, wie du die Parameter übergeben musst und das ist eine _andere
          Frage_).

          muss ich nicht vorher submitten?

          Das kannst alleine du entscheiden, denn du legst fest, wie das Programm laufen soll.
          Was ich dir jedoch an Wissen mitgeben darf ist, dass die letzte ID nur solange existent
          ist, wie die Verbindung zur Datenbank besteht. Trennst du die Verbindung (z.B. wenn das
          Script beendet ist), ist die "letzte ID" verloren. Folglich: Egal, ob submit oder nicht:
          die ID wird stets _gleich nach dem INSERT_ ausgelesen und wird dann an weitere INSERTS,
          UPDATES, Programme etc. weitergeleitet (falls du einen neuen Prozess startest [z.B. indem
          du "submittest"], musst du die ID eben über einen Parameter weitergeben).

          Viele Grüsse

          Philipp

          --
          RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
          Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.