3 mysq lVerbindungen mit GET

Deadfish

Mitglied
Habe ihr eine kleine Frage da ich es nicht hinbekommen bzw auch nicht genau weis wie:
wie verbinde ich den eine db so das er aus der tabelle "insel" die spalte user id " und die "inselid" mit der aus der tabelle usergebaude vergleicht und die tabelle usergebaude Spalte "bauid" unter der tabelle gebaude spalte "bauid vergleicht und dann soll er das aus eine Get auslesen die GET ID soll die bauid sein so das nur 1 Gebäude angezeigt wird hoffe ihr könnt mir Helfen hier noch ein paar Daten aus der SQL :

SQL:
-- Tabellenstruktur für Tabelle `insel`

CREATE TABLE IF NOT EXISTS `insel` (
  `Id` int(11) NOT NULL auto_increment,
  `inselid` int(11) NOT NULL,
  `Name` varchar(20) NOT NULL,
  `feld1` int(11) NOT NULL,
  `feld2` int(11) NOT NULL,
  `Ort` int(11) NOT NULL,
  `iholz` bigint(20) NOT NULL default '20',
  `plusholz` varchar(20) NOT NULL,
  `istein` bigint(20) NOT NULL default '20',
  `ieisen` bigint(20) NOT NULL default '20',
  `inarung` bigint(20) NOT NULL default '10',
  `bauen` int(11) NOT NULL,
  `bautime` int(11) NOT NULL,
  `bauid` int(11) NOT NULL,
  `baufeld` int(11) NOT NULL,
  `imbau` int(11) NOT NULL,
  `resstimeneu` int(11) NOT NULL,
  `resstimealt` int(11) NOT NULL,
  PRIMARY KEY  (`Id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

SQL:
-- Tabellenstruktur für Tabelle `usergbaude`
--

CREATE TABLE IF NOT EXISTS `usergbaude` (
  `Id` int(11) NOT NULL,
  `inselid` int(11) NOT NULL,
  `bauid` int(11) NOT NULL,
  `stufe` int(11) NOT NULL,
  `position` int(11) NOT NULL,
  PRIMARY KEY  (`Id`,`bauid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

SQL:
-- Tabellenstruktur für Tabelle `gebaude`
--

CREATE TABLE IF NOT EXISTS `gebaude` (
  `bauid` int(11) NOT NULL auto_increment,
  `gename` varchar(20) NOT NULL,
  `getime` varchar(20) NOT NULL,
  `holz` bigint(20) NOT NULL,
  `stein` bigint(20) NOT NULL,
  `eisen` bigint(20) NOT NULL,
  `narung` bigint(20) NOT NULL,
  PRIMARY KEY  (`bauid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
 
Zuletzt bearbeitet von einem Moderator:
Zum Verbinden kannst du JOIN im Select-Statement verwenden. Beispiele und Anleitungen gibt es tausende dazu im Internet.
Um die ID einzuschränken musst du das im WHERE-Teil des SELECT-Statements vergleichen. Auch dazu gibts Millionen von Beispielen und Anleitungen im WWW.

Darum mach ich hier nur ein kleines Beispiel ohne weitere Beschreibung
SQL:
SELECT
    *
FROM
    insel
    INNER JOIN usergbaude
        ON insel.id = usergbaude.inselid
    INNER JOIN gebaude
        ON usergbaude.bauid = gebaude.bauid
WHERE
    usergbaude.bauid = {$myId}

Und so kannst du dass dan einbinden
PHP:
$myId = mysql_escape_string($_GET['bauid']);
$sql = 
"SELECT
    *
FROM
    insel
    INNER JOIN usergbaude
        ON insel.id = usergbaude.inselid
    INNER JOIN gebaude
        ON usergbaude.bauid = gebaude.bauid
WHERE
    usergbaude.bauid = {$myId}";
 
Zuletzt bearbeitet von einem Moderator:
Jetzt musst du nur noch alle Befehle und Begriffe die du noch nicht kanntest in der ANleitung nachschlagen und versuchen zu verstehen.
 
Zurück