Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
SQL: Nur Ergebnisse, die in allen Zeilen vorkommen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
SQL: Nur Ergebnisse, die in allen Zeilen vorkommen


 
whyte
09-09-2008, 09:47 
 
Hallo,

sorry, für den blöden Betreff, aber mir ist nichts eingefallen.

Ich habe ein kleines Problem mit einer Suchfunktion, das ich nicht recht gelöst bekomme.

Ich habe folgende Tabelle:
suche_artikel:
-----------------------
: id : wortid : artid :
-----------------------
: 0 : 10 : 1 :
: 1 : 20 : 1 :
: 2 : 10 : 2 :
-----------------------

Derzeit lese ich die Tabelle, wenn ich nach Wort mit de ID 10 und 20 suche mit dem Befehl:
SELECT * from suche_artikel WHERE wortid IN ('10', '20') GROUP BY artid;
aus.
Hier kommt natürlich auch Artikel mit ID 10 dazu.

Nun hätte ich aber gerne, dass ich, wenn ich nach Wortid 10 und 20 suche, nur Artikel mit der ID 1 heraus kommt, also Artikel 2 (da hier Wort 20 nicht da ist), nicht in das Ergebnis mit rein kommt.

Hat jemand eine Idee ?
Danke
Marco

 
mcmurphy
09-09-2008, 10:30 
 
Nun hätte ich aber gerne, dass ich, wenn ich nach Wortid 10 und 20 suche, nur Artikel mit der ID 1 heraus kommt, also Artikel 2 (da hier Wort 20 nicht da ist), nicht in das Ergebnis mit rein kommt.
Verstehe ich nicht: du suchst nach 10 und 20, willst aber 20 nicht haben?!?

 
TobiaZ
09-09-2008, 13:03 
 
Da musst du die Tabelle mal wieder mit sich selbst JOINEN und prüfen, ob der Artikel sowohl Wort 10 als auch 20 enthält. (Diese Bedingung hättest du übrigens auch einfach in klarem Deutsch dahin schreiben können. ;) )

Wenn du jetzt aber 3,4,5 Bedingungen hast, dann wirds kritisch...

 
whyte
09-09-2008, 15:10 
 
Original geschrieben von TobiaZ
Wenn du jetzt aber 3,4,5 Bedingungen hast, dann wirds kritisch...

Ja ist mein Problem
Die Leute suchen eben nach mehreren Worten und ich möchte nur die Artikel haben, in denen auch alle gesuchten Worte enthalten sind.

Ich bin evtl. am überlegen, jedes Wort auszuwerten und dann zu sehen, welches IDs in allen Ergebnissen sind, mal sehen, wie aufwendig das ist.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12 Uhr.