Frage von Julian3004, 51

SQL&PHP: Benutzername von Tabelle 1 in Tabelle 2 kopieren bei ein Eintrag in das Forum?

Hallo, ich bin gerade dabei ein kleines Forum für meine Seite zu erstellen. Ich weis leider nicht mehr weiter und hoffe Ihr könnt mir helfen... Ich habe die Tabelle "_user" wo die ganzen Benutzer drinnen stehen und jetzt die Tabelle "_forum" wo auch der Benutzer übertragen soll der diesen Forum Eintrag erstellt hat. Hier die SQL Tabellen:

CREATE TABLE IF NOT EXISTS `13048798_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) NOT NULL,
  `firstname` varchar(20) NOT NULL,
  `lastname` varchar(20) NOT NULL,
  `street` varchar(50) NOT NULL,
  `zip_code` varchar(5) NOT NULL,
  `city` varchar(40) NOT NULL,
  `message` text NOT NULL,
  `password` varchar(128) NOT NULL,
  `email` varchar(60) NOT NULL,
  `activ` tinyint(1) NOT NULL,
  `rank` tinyint(1) NOT NULL DEFAULT '1',
  `logged_in` tinyint(4) NOT NULL,
  `pwv` varchar(40) NOT NULL,
  `actlink` varchar(40) NOT NULL,
  `pb` text NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_login` datetime NOT NULL,
  PRIMARY KEY (`id`)
)

CREATE TABLE IF NOT EXISTS `13048798_forum` (
  `id` int(255) NOT NULL AUTO_INCREMENT,
  `user` varchar(30) COLLATE latin1_german2_ci NOT NULL,
  `header` text COLLATE latin1_german2_ci NOT NULL,
  `main` text COLLATE latin1_german2_ci NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user` (`user`)
)

ich weis, dass ich das mit ein Fremdschlüssel machen muss aber ich habe keine Ahnung wie ich das umsetze. In mein PHPMyAdmin kann ich nur den Fremdschlüssel per SQL Befehl erstellen. Das habe ich schon versucht mit ALTER TABLE ... Er übernimmt das aber zeigt mir kein Fremd Schlüssel an. Und wenn ich den erstellt habe was muss ich in PHP schreiben damit der Name als String gespeichert wird?

Ich hoffe mir kann jemand Helfen Danke :-)

Antwort
von dannyotti, 10

Du kannst es mit einem Fremdschlüssel machen, solltest es eventuell auch.

Jetzt ist es so, dass es in deinem Fall keinen Sinn macht, den Benutzernamen zu "verlinken". Am Sinnvollsten ist es immer die eindeutige Identifikation, in dem Fall die user_id, zu verlinken. Mit der kannst du dir dann den Benutzer aus der Benutzerdatenbank holen. wenn du alles auf eine SQL abfrage reduzieren möchtest, dann geht das natürlich auch mit Join befehlen.

Mit PHPMyAdmin kann ich dir leider nicht weiterhelfen, ich verwende immer Heidisql und bin damit sehr zu frieden. Dort geht es ohne Probleme einen Fremdschlüssel hinzuzufügen. Viele schwören auf die Workbench, damit lässt sich auch arbeiten.

https://www.php-einfach.de/mysql-tutorial/mysql-fremdschluessel/

Hier steht etwas mit PhpMyAdmin

Keine passende Antwort gefunden?

Fragen Sie die Community