Zum Inhalt springen

INSERT Problem bei zwei voneinander abhängigen Tabellen.


JoelH

Empfohlene Beiträge

So und nun der umgekehrte Weg,

ich hab zwei Tabellen und die eine ist abhängig vom Primary Key der anderen Tabelle, da dieser auto_inc ist weiss ich natürlich vorher nicht welchen wert der key als nächstes hat, ich mach das jetzt so dass ich zuerst die Werte in die erste Tabelle Eintrage und diese dann auslese anhand eines anderen Parameters der aber leider nicht UNIQUE sein kann :( also kann es durchaus vorkommen das da ein Fehler auftritt, aber ich weiss nicht wie ich es anders machen könnte :((

Hier das FILE :

<html><head><title>neues Topic erstellen</title></head>

<?php

    include ('color.inc');

    include ('mysqlvar.inc');

    $db=mysql_connect($dbserver,$dbuser,$dbpass);

        mysql_select_db($dbname,$db);

        if ($db)

           {

             $query='SELECT * FROM user WHERE pseudonym="'.$name.'" ';

             $result=mysql_query($query,$db);

             if (!$result) { die ("Sorry falscher Nickname bitte benutzen sie den BACK-Buttons ihres Browsers!"); }

             if ($result)

                {

                   $readpass=mysql_fetch_array($result, MYSQL_ASSOC);

                   if ($pass<>$readpass["passwort"]) { die ("Falsches Passwort !! Bitte benutzen sie den BACK-Buttons ihres Browsers!"); }

                   if ($topicname=="") { die ("Sorry, das Topic braucht eine Überschrift ! Bitte benutzen sie den BACK-Buttons ihres Browsers!"); }

                   $datum=getdate();

                   $query="INSERT INTO topics (fid, tid, topicname, erstellerid) VALUES ('".$nr."', '', '".$topicname."', '".$readpass["erstellerid"]."')";

                   $result=mysql_query($query,$db);

                   $query='SELECT tid FROM topics WHERE topicname="'.$topicname.'" ';

                   $result=mysql_query($query,$db);

                   $topicid=mysql_fetch_array($result, MYSQL_ASSOC);

                   $query="INSERT INTO topicbeitraege (tid, eid, beitrag, erstellerid, datum, uhrzeit) VALUES ('".$topicid["tid"]."', '', '".$beitrag."', '".$readpass["erstellerid"]."', '".$datum["year"]."-".$datum["mon"]."-".$datum["mday"]."', '".$datum["hours"].":".$datum["minutes"].":".$datum["seconds"]."')";

                   $result=mysql_query($query,$db);

                   echo 'Beitrag wurde erstellt !<br>';

                   echo '<a href="foren.php">Weiter zum Forenindex</a><br>';

                   $beta="showforum.php?forum=".$nr;

                   echo '<a href="'.$beta.'">Weiter zum Forum</a></br>';

                   $beta="topiczeigen.php?nr=".$topicid["tid"];

                   echo '<a href="'.$beta.'">Weiter zum Topic</a></br>';

                 }

            }

    echo'</body></html>';

?>

Ich hoffe es wird mr wieder so schnell geholfen, aber leider kann ich nicht vorstellen das es ein INSERT gibt das das machen kann, naja die Hoffnung stirbt zuletzt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

iss ganz einfach, also folgende Tabellen

TAB1 hat folgende Spalten tid fid wobei tid der primary key ist und dieser ist auto_increment..

TAB2 hat folgende Spalten tid sid wobei sid der prim. Key ist und auch auto_increment.

So jetzt muss ich einmal sid in TAB2 einfügen allerdings muss ich zuerst tid in TAB1 erzeugen weil genau dieser Wert auch tid in TAB2 werden soll.

Da tid ja auto_increment ist weiss ich ja nicht welchen Wert er als nächstes annimmt und muss zuerst in TAB1 schreiben, diese auslesen und dann das ausgelesene tid in TAB2 eintragen.

Naja und ich wollte wissen ob man das auch mit einer INSERT Anweisung direkt handln kann. Scheinbar aber nicht, naja der Link von Kandi hat auf alle Fälle geholfen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...