WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Spezielle Datenbankabfrage mit 3 Tabellen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von TeX
Hab eine Lösung gefunden:

1: 
2: 
3:
SELECT * FROM Datensätze
WHERE Datensätze.user_id IN ( SELECT id FROM Benutzer WHERE name LIKE '%".$_GET[str]."%')
AND Datensätze.navi IN ( SELECT id FROM Navigation WHERE name LIKE '%".$_GET[str2]."%')";


Der IN-Befehl war mir nicht bekannt ...
von TeX
Jop, hab ich geändert, aber das Prob der 3 Tabellen bleibt trotzdem.
von progrookie
TeX schrieb am 08.11.2005 10:42
Hi,
ich hab ein größeres Prob, denk ich jedenfalls.

Es gibt 3 Datenbank-Tabellen:

Datensätze
Benutzer
Navigation

Die Datensätze sind durch die ID-Nr. der beiden anderen Tabellen verknüpft, nun hab ich eine Suchfunktion die nach Benutzern sucht (mit LIKE) und durch einen separaten String auch noch die Navigation (durch LIKE). Jetzt sollen die passenden Datensätze ausgelesen werden wo beide ID-Nr. vorkommen.

Mit 2 Tabellen ist das ja kein Prob, aber mit 3 kann ich mir nicht mehr vorstellen wie das gehen soll, o. wie die Syntax aussieht.

Bsp. mit 2 Tabellen:

1: 
2:
SELECT * FROM Datensätze AS A LEFT OUTER
JOIN Benutzer AS B ON A.user_id = B.idWHERE B.name LIKE '%".$_GET[str]."%';


Habt Ihr ne Lösung dafür das nur Datensätze ausgegeben, wenn die Ergebnisse der 2 anderen Tabellen gefunden wurden?



Sollte nicht vor der WHERE Bedingung ein Leerzeichen sein....?
von TeX
Hi,
ich hab ein größeres Prob, denk ich jedenfalls.

Es gibt 3 Datenbank-Tabellen:

Datensätze
Benutzer
Navigation

Die Datensätze sind durch die ID-Nr. der beiden anderen Tabellen verknüpft, nun hab ich eine Suchfunktion die nach Benutzern sucht (mit LIKE) und durch einen separaten String auch noch die Navigation (durch LIKE). Jetzt sollen die passenden Datensätze ausgelesen werden wo beide ID-Nr. vorkommen.

Mit 2 Tabellen ist das ja kein Prob, aber mit 3 kann ich mir nicht mehr vorstellen wie das gehen soll, o. wie die Syntax aussieht.

Bsp. mit 2 Tabellen:

1: 
2:
SELECT * FROM Datensätze AS A LEFT OUTER
JOIN Benutzer AS B ON A.user_id = B.id WHERE B.name LIKE '%".$_GET[str]."%';


Habt Ihr ne Lösung dafür das nur Datensätze ausgegeben, wenn die Ergebnisse der 2 anderen Tabellen gefunden wurden?

Nach oben