INSERT TO mehrere Tabellen

bibibär

Grünschnabel
Hallo Leute,

ich bin Anfänger in php und mySQL und brauche Hilfe.

ich habe ein Formular erstellt, welches die Daten in einer Tabelle in einer mySQL-Datenbank speichert.
Ich verwende dafür:
PHP:
<?php
  $eintrag = "INSERT INTO links (url, urlname, name,
  banner, beschreibung) VALUES ('$url', '$hpname',
  '$name', '$banner','$beschreibung')";
  ?>

<?php
  $eintragen = mysql_query($eintrag);
  ?>

...das klappt auch recht gut :)

Ich möchte aber, daß die Daten in mehreren / verschiedenen Tabellen gespeichert werden
Wie lautet der php-code dafür?

Ich habe im Netz schon viel gesucht, aber immer nur Erklärungen und Beispiele gefunden wie man Daten in 1 Tabelle speichert, nicht in 2,3 oder x Tabellen :confused:

Bitte, bitte hilft mir

Gruß
bibibär
 
Danke für die schnelle antwort!

Hm:confused:
Irgendwie muß es doch möglich sein, nach ähnlichem Prinzip laufen doch auch joomla, osCommerce...etc., oder nicht?
Dort füllt man auch ein Formular aus bzw. ändert Einstellungen und die Daten wandern in unterschiedliche Tabellen und können später wieder beliebig ausgelesen werden.

Im Prinzip möchte ich folgendes:

Ich habe ein formular und eine Datenbank mit 2 Tabellen (links und user)
Formular:
Feld: Linkname
Feld: Adresse
Feld: Beschreibung
Feld: User
Feld: Geschlecht

Es gibt 2 Tabellen:
1. Tabelle = links (Spalte: LinkID, Spalte:UserID, Spalte: Linkname, Spalte:Adresse, Spalte: Beschreibung
2. Tabelle = user (Spalte: UserID, Spalte: User, Spalte: Geschlecht

Jetzt möchte ich, daß nach absenden des Formulars die Link-Daten in die Links-Tabelle und die User-Daten in die User-Tabelle gespeichert werden.
Die UserID in der Tabelle Links soll automatisch von der Tabelle User bezogen werden.

Gibts keine Lösung dafür?
 
Zuletzt bearbeitet:
PHP:
$user_sql = "INSERT INTO `user`
(`user`, `geschlecht`)
VALUES ('".$user."', '".$geschlecht."')";
mysql_query($user_sql);

$link_sql = "INSERT INTO `links`
(`userid`, `linkname`, `beschreibung`, `adresse`)
VALUES ('".mysql_insert_id()."', '".$linkname."', '".$linkname."', '".$linkname."');
mysql_query($link_sql);

So in der Art sollte es gehen.

Allerdings sollte die UserID dann ein Feld mit auto_increment sein.
 
Hallo,

ja führ 2mal ein Query aus.

PHP:
<?php 
  $eintrag = "INSERT INTO links (url, urlname, name, 
  banner, beschreibung) VALUES ('$url', '$hpname', 
  '$name', '$banner','$beschreibung')"; 
  $eintragen = mysql_query($eintrag); 

  $eintrag2 = "INSERT INTO user(user, geschlecht) VALUES ('$user', '$geschlecht')"; 
  $eingetragen = mysql_query($eintrag2); 
echo"Alle Daten wurden in die Datenbank eingetragen";
  ?>
 
JAAAAAA Endlich klappt es :)

Habe zwar gestern zig mal etwasähnliches versucht (eintrag1,eintrag2) aber irgendetwas habe ich wohl immer wieder falsch gemacht...wie auch immer jetz funktionierts.

V I E L E N D A N K I H R B E I D E N !
 
hi...ich bins nochmal :)

Was bedeuten die Punkte bei ".$linkname.", bzw. was ist der Unterschied zu "$linkname" ohne Punkte?


Welche Zeichen muss/kann ändern bei dem Befehl ".mysql_insert_id()."?
Es soll dort die userID von der tabelle user automatisch bezogen werden.

grüße
bibibär
 
Zurück