tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
490
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    nobaschwa nobaschwa ist offline Mitglied Bronze
    Registriert seit
    Nov 2004
    Beiträge
    26
    Ich hab da jetzt noch ein Problem Ich habe drei tabellen:

    Filme:
    FilmID
    Titel
    Genre usw

    User:
    UserID
    Username

    Filmbesitzer:
    UserID
    FilmID
    zeit (hab ich neu hinzugefügt...ist vom Typ timestamp)


    so jetzt wollte ich mit folgender Abfrage sowohl die Filmdaten als auch die Zeit auslesen.

    PHP-Code:
    $sql "SELECT 
                Filme.FilmID,
                Filme.Titel,
                Filme.Genre,
                Filme.Sprachen,
                Filme.FSK,
                Filme.spezial,
                Filme.verliehen,
                Filmbesitzer.zeit
            FROM 
                User,Filme,Filmbesitzer 
            WHERE 
                Filmbesitzer.FilmID=Filme.FilmID 
                AND Filmbesitzer.UserID=User.UserID 
                AND User.Username = '"
    .$_GET['liste']."'
           ORDER BY
              Titel ASC"

    Für die Filmdaten klappt das auch aber wenn ich die Zeit ausgeben möchte kommt

    Notice: Undefined index: zeit in /Library/WebServer/Documents/dvd/besucher/anzeige.php on line 177

    ausgeben möchte ich die mit

    PHP-Code:
    $result mysql_query($sql) OR die(mysql_error());
    while(
    $row mysql_fetch_assoc($result)) {
             
    echo 
    $row['zeit'];


    Für die Filmdaten klappt das auch mit zb
    PHP-Code:
    echo $row['Titel']; 
    Hat vielleicht irgendjemand eine Idee warum das nicht funktioniert?

    bis denne
     

  2. #2
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Lass dir mal deine Variable $row mittels var_dump() ausgeben.
     
    Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut

  3. #3
    nobaschwa nobaschwa ist offline Mitglied Bronze
    Registriert seit
    Nov 2004
    Beiträge
    26
    Hab ich gemacht, da kommt dann das raus:

    array(7) { ["FilmID"]=> string(3) "103" ["Titel"]=> string(14) "American Pie 1" ["Genre"]=> string(7) "Komödie" ["Sprachen"]=> string(7) "Deutsch" ["FSK"]=> string(0) "" ["spezial"]=> string(0) "" ["verliehen"]=> string(0) "" }


    Das stimmt auch soweit, aber zeit steht gar nicht drinne.
     

  4. #4
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Bist du dir sicher, dass ein entsprechender Eintrag in der Tabelle "Filmbesitzer" existiert, bei dem die ID mit den IDs der beiden anderen Tabellen (User, Filme) übereinstimmt?
    durch 3 seperate Abfragen zu lösen.

    Möglicherweise hängt es auch damit zusammen, dass es dem Script nicht passt, dass die ID-Spalten in den Tabellen Filmbesitzer und User den selben Namen haben ("UserID").

    Du kannst außerdem versuchen, das Ganze in 3 seperaten Abfragen zu lösen. Ist zwar mehr Schreibarbeit, aber evtl. einfacher...
     
    Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut

  5. #5
    Sicaine Tutorials.de Gastzugang
    Ansich irritiert das doch weil zeit eigentlich da sein sollte.

    Ansonsten warum benützt du kein JOIN?

    mal gucken ob ichs auf die Schnelle hinbekomme:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    SELECT
        f.FilmID,
        f.Titel,
        f.Genre,
        f.Sprachen,
        f.FSK,
        f.spezial,
        f.verliehen,
        fb.zeit
    FROM
        Filme AS f
    LEFT JOIN Filmbesitzer AS fb, User AS u
    ON f.FilmID = fb.FilmID AND fb.UserID = u.UserID
    WHERE
        u.Username = '".$_GET['liste']."'
    ORDER BY
        f.Titel ASC"
     

  6. #6
    nobaschwa nobaschwa ist offline Mitglied Bronze
    Registriert seit
    Nov 2004
    Beiträge
    26
    @split

    ja die spalte zeit gibt es und da steht auch was drin. Die Abfrage an sich funktioniert...er zeigt mir ja alles an was ich will nur die zeit nicht.

    @sicaine

    mit joins hatte ich mich noch nicht beschäftigt. Ich versuche es jetzt einfach mal so wie du es vorgeschlagen hast und melde mich dann nochmal.

    Aber schonmal Danke an euch beide!
     

Ähnliche Themen

  1. Problem bei einem JOIN zw. zwei Tabellen, (Daten aus beiden Tabellen auslesen)
    Von CookieBuster im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 05.04.10, 22:20
  2. Daten aus 2 Tabellen auslesen
    Von himmelvergebenusw im Forum PHP
    Antworten: 7
    Letzter Beitrag: 02.04.08, 19:57
  3. Antworten: 10
    Letzter Beitrag: 06.05.05, 23:59
  4. Daten aus 2 Access-Tabellen auslesen
    Von andrine im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 30.11.04, 13:47
  5. Daten aus 2 MySQL-Tabellen auslesen
    Von supercat1510 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 24.05.03, 20:53