inhalt von einer 3. tabelle

yardimcim

Mitglied
Hallo zusammen,

bin ganz neu hier und auch bis jetzt ganz glücklich :) ich beschäftige mich seid tagen mit ein Loginsystem. Jetzt habe ich mir nochmal das hier
http://www.tutorials.de/php-tutorials/9684-php-mysql-login-system-mit-sessions.html
genauer durchgemacht und bei mir eingesetzt. Ich finde, dass es ein super tut ist für loginsysteme******
jetzt habe ich mir eine andere tabelle angelegt. das soll zb wenn der user 1 angemeldet ist die anderen daten von user 1 zeigen. jetzt weiß ich nicht genau wo ich was schreiben soll :rolleyes: kann ich eigentlich gleich bei intern.php meine SQL-Befehle schreiben?

danke schon im vorrau :)
 
Hallo,

ohne das Tutorial jetzt gesehen zu haben...
Wie ist die 3. Tabelle denn aufgebaut? Gibt es dort ein Feld mit der UserID aus der 1. Tabelle?
Dann könntest Du ganz einfach Joinen.
SQL:
SELECT a.tabelle1.*b,tabelle3.* FROM tabelle1 a LEFT JOIN tabelle3 b ON a.UserId = b.UserId WHERE a.UserID = $_SESSION['UserId']

So bekommst du alle Daten aus der 3. Tabelle welche die gleiche UserId haben wie aus der 1. Tabelle.
1:1 Beziehung
Die Abfrage halt noch an deine Bedürftnisse anpassen und dann sollte es laufen
 
danke für deine antwort maniac_81
ich weiß nicht ob das richtig ist, ich habe in jeder tabelle Id als PK. ich dachte ich kann sie dann somit miteinander verbinden :S sollte ich das lieber anders machen?
 
Ja die ID in jeder Tabelle nimmst du warscheinlich als Identifikator und ist AutoIncrement.
Aber woher soll die 1. Tabelle wissen von welcher Zeile aus Tabelle 3 die richtige ist? Deshalb die UserID in die 3. Tabelle in jede Zeile packen, somit haste eine Beziehung zwischen den Tabellen und kannst sie so leichter verbinden.

btw, das Tutorial ist schon ziemlich alt, ich würd mich nach nem neueren umsehen.
 
oh jee darauf habe ich gar nicht geachtet das es so alt ist. Es klappt eigentlich ganz gut bis jetzt. Darum lasse ich es mal für den Anfang...
ok dh. ich mache dann von 1.tabelle id als foreign key bei tabelle3.

noch ne andere frage. in tabelle 3 kann der user so viele einträge machen wie er will. nur soll der id immer von demjenigen sein der es gespeichert hat. wie kann ich das umsetzten? und brauche ich dann überhaupt in tabelle 3 ein pk?
 
das ist mein code :

also ich habe unter intern.php

<?php $sql = "SELECT * FROM bucher WHERE 'Id' = ".$SESSION['userid'];$result = mysqlquery($sql); while( $row = mysqlfetchassoc($result) ) { echo $row['titel']."\n"; }vardump($SESSION['userid']);?>

zb wenn der user 1 angemeldet ist soll die einträge in der tabelle bucher von user 1 angezeigt werden.
 
Verwende bitte BBCodes zum Formatieren des Quellcodes. Das kann sonst kein Mensch vernünftig lesen.
Ich bhabe es dir doch schon geschrieben wie die Tabellen verknüpft werden und eine Beziehung erschaffen.

Zeig bitte mal deine Struktur und den Aufbau der Datenbank.
 
CREATE TABLE IF NOT EXISTS `benutzerdaten` (
`Id` int(11) NOT NULL AUTO_INCREMENT,

`Nickname` varchar(50) NOT NULL DEFAULT '',
`Kennwort` varchar(50) NOT NULL DEFAULT '',

`Nachname` varchar(50) NOT NULL DEFAULT '',
`Vorname` varchar(50) NOT NULL DEFAULT '',

PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

....................................................................................................

CREATE TABLE `test`.`bucher` (
`Id` INT( 44 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`titel` VARCHAR( 44 ) NOT NULL ,
`isbn` INT( 44 ) NOT NULL ,
`autor` INT( 44 ) NOT NULL
) ENGINE = InnoDB;

................................................................................................................

Das sind meine Tabellen. Benutzer die in der Tabelle benutzerdaten angemeldet sind sollen von der tabelle bucher ihre einträge sehen können. was noch gemerkt habe. wenn ich pk habe kann ich von user 1 mehrer einträge haben oder ? :S wie kann ich das machen dass der user 1 mehrer bucher in die tabelle bucher eintragen kann? dh id soll dann immer bei user 1 immer1 sein..

wie formatiere ich eigentlich mein code? ich finde es nciht :S
 
In die Tabelle bucher noch eine Spalte einfügen mit der Id aus "benuzerdaten", zb als UserId
Wenn du einen Eintrag machst über dein Script einfach in UserId die Id vom User miteintragen.
und abfragen kannst es mit einem Join wie ich ihn oben schon ähnlich beschrieben habe.
 
so habe ich versucht kommt nichts :(((
Code:
$sql = "SELECT a.benutzerdaten.*b,bucher.*
       FROM benutzerdaten a LEFT JOIN bucher b ON a.Id = b.Id WHERE a.Id = ".$_SESSION['user_id'] ;

       $result = mysql_query($sql);
       echo $result;
 
Zurück