Aloha Supportnetler
Ich arbeite an einem kleinen Projekt zu einem Spiel zur Ausgabe von Daten aus einer MySQL Datenbank.
Ich zermarter mir seit 2 Tagen das Hirn, aber ich komme nicht vorwärts. Ich hab in der Datenbank 2 Tabellen die ich mit einen Join ansprechen will. Aber die Ergebnismenge entspricht nicht dem was ich haben will.
Zum Aufbau: In der einen Tabelle stehen die Fahrzeuge des Spiels, in einer zweiten Tabelle die ID´s der Fahrzeuge die sich im Besitz des Benutzers befinden. In dieser Tabelle werden lediglich Benutzername und ID des Fahrzeugs gespeichert.
Aus der Fahrzeugtabelle wird ein
HTML Formular generiert, in dem der Benutzer mit Checkboxen anhaken kann welches Fahrzeug er besitzt. Als Value der Checkboxen wird die jeweilige ID des Fahrzeugs in der Datenbank gesetzt, und beim Absenden des Formulars zusammen mit dem Benutzernamen in die zweite Tabelle geschrieben. Für jedes Fahrzeug ein Eintrag. Da es maximal 29 Fahrzeuge gibt, werden in der Tabelle für jeden User maximal 29 Einträge gemacht.
Jetzt möchte ich gerne, wenn für den Benutzer ein Eintrag in dieser Tabelle vorhanden ist, die Fahrzeugliste so generieren das ihm Fahrzeuge, die er bereits besitzt, nicht mehr angezeigt werden. Dazu benutze ich folgende Abfrage:
SELECT name, tech FROM tankliste INNER JOIN tankliste.ID != liste.tank
Mein Problem ist, dass er bei dieser Abfrage 280 Ergebnisse raushaut, obwohl es eigentlich nur 20 sein sollten. Nämlich die, die der Benutzer nicht besitzt. Aber irgendwie funktoniert dieses
"tankliste.ID != liste.tank" nicht.
Meine Frage wäre, wie muss ich die Abfrage stricken das er mir nur noch die Fahrzeuge anzeigt, die der Benutzer nicht besitzt?
Über einen Wink mit dem Zaunpfahl wäre ich sehr froh :)
Gruß
Des Kasperli