phpbar.de logo

Mailinglisten-Archive

[php] PHP/MySQL: In mehrere Tabellen schreiben...

[php] PHP/MySQL: In mehrere Tabellen schreiben...

Marian Steinbach marianS_(at)_gmx.de
Sun, 11 Jul 1999 10:51:29 +0200


Hallo!

Ich lasse vom Benutzer über ein Formular neue Einträge in eine
MySQL-Tabelle vornehmen - geschieht natürlich über PHP. Allerdings
benötige ich zu einem neuen Eintrag auch noch mindestens einen Eintrag
in einer zweiten Tabelle - wahrscheinlich nichts ungewöhnliches.

In der ersten Tabelle (tabelle_1) bekommt der Eintrag eine id (int,
unique, auto_increment) und den ganzen Daten-Rest. In der zweiten
Tabelle (tabelle_2) werden erstens die gerade frisch vergebene id (int)
aus tabelle_1 und außerdem wiederum weitere Daten eingegeben.

Kann man irgendwie besonders elegent erfahren, welche id eben in
tabelle_1 vergeben wurde? Meine mir etas komisch erscheinende Lösung
ist, daß ich zunächst den Eintrag wie folgt in tabelle_1 erzeuge...

$sql = "INSERT INTO tabelle_1 (titel,txt) VALUES '$titel','$txt')";
$result = mysql_query($sql);

...dann einen select wie nachstehend abschicke und mir die id hole...

$sql = "SELECT * FROM tabelle_1 WHERE titel='$titel' AND txt='$txt'";
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
$entryID = $myrow["id"];

... um damit neue einträge in tabelle_2 anzulegen wie

$sql = "INSERT INTO tabelle_2 (entryID,sonstwas) VALUES
('$entryID','$sonstwas')";
$result = mysql_query($sql);

Heißt: Ich will den Primarschlüssel aus tabelle_1 in tabelle_2 als
Fremdschlüssel. Mit meiner SELECT-Methode überlasse ich es jedoch dem
Zufall, ob nicht gerade zwei Einträge mit demselben Inhalt in titel und
beschreibung vorhanden sind, denn die sind beide nicht unique. Das ist
zwar unwahrscheinlich, aber natürlich keineswegs sauber.

Ach ja, noch was: Wie läßt man sich denn wirklich clever einen
_einziges_ Feldinhalt aus der Datenbank geben? Das immer mit
mysql_fetch_array() bzw. ...row zu machen, ist doch sicher auch nicht
die feine englische Art, oder?

Wißt ihr einem db-newbie zu helfen?

Danke! Marian


php::bar PHP Wiki   -   Listenarchive