PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   BRAINSTORMING PHP/SQL/HTML/JS/CSS (https://www.php-resource.de/forum/brainstorming-php-sql-html-js-css/)
-   -   Komplexe DB Abfrage, wer weis einfach Lösung? (https://www.php-resource.de/forum/brainstorming-php-sql-html-js-css/48166-komplexe-db-abfrage-wer-weis-einfach-loesung.html)

PHPler 13-12-2004 23:18

Komplexe DB Abfrage, wer weis einfach Lösung?
 
Hey Leute!

Ich bin grad dabei eine Suchfunktion für eine Webseite zu basteln. Habe jedoch ziemliche Schwierigkeiten mit der MySQL Abfrage, da diese die Datensätze in der DB nach Übereinstimmungen abfragen soll und ich einfach nicht weis wie ich die Abfrage gestalten soll. Nehmen wir mal als Beispiel:
Ich habe in der DB verschidene Tutorials eingetragen. Diese sind mehreren Kategorien zugeordnet und sollen dementsprechend der Einstellung der Suche abgefragt werden. Die Schwierigkeit besteht darin dass die Tutorials multiple Einträge (SET Felder) enthalten und die Abfrage so aussehen muß dass ALLE von dem User gewählten Bedingungen erfüllt werden, und die restlichen aber ignoriert, verneint bzw. übersprungen (oder wie auch immer) werden. Nehmen wir also die DB, die wäre wie folgt aufgebaut:

Name: Tutorial 1
Sprache: PHP4 (SET FELD, ASP, CGI, PHP3, PHP4 PHP5, Python, SSI,ActionScript)
Typ: Programmieren (SET FELD, Grafik, Programmieren, Flash)
Grad: Einsteiger (SET FELD, Einsteiger, Fortgeschrittener, Profi)

Name: Tutorial 2
Sprache PHP4,PHP5 (SET FELD, ASP, CGI, PHP3, PHP4, PHP4, Pyton,SSI,ActionScript)
Typ: Programmieren (SET FELD, Grafik, Programmieren, Flash)
Grad: Profi (SET FELD, Einsteiger, Fortgeschrittener, Profi)

Name: Tutorial 3
Sprache PHP5 (SET FELD, ASP, CGI, PHP3, PHP4, PHP4, Pyton,SSI,ActionScript)
Typ: Programmieren (SET FELD, Grafik, Programmieren, Flash)
Grad: Fortgeschrittener,Profi(SET FELD, Einsteiger, Fortgeschrittener, Profi)

Name: Tutorial 4
Sprache: ActionScript (SET FELD, ASP, CGI, PHP3, PHP4, PHP4, Pyton,SSI,ActionScript)
Typ: Programmieren,Flash (SET FELD, Grafik, Programmieren, Flash)
Grad: Einsteiger (SET FELD, Einsteiger, Fortgeschrittener, Profi)

Nun kommt ein User, der sagt, er möchte alle Tutorials aufgelistet haben, die für Einsteiger gedacht sind, und wo es ums Programmieren mit PHP 4 geht. Jetzt habe ich schon einiege Ansätze hinter mir, und jedesmal trat folgendes Problem auf:

Ich gebe in der Suche an: Programmieren, PHP 4, Einsteiger. Nun sucht das Script und gibt mir folgendes aus:

Tutorial 1, da es ums Programmieren für Einsteiger mit PHP 4 geht. Alle bedingungen Erfüllt.
Tutorial 2, da es ums Programmieren mit PHP 4 geht, obwohl das Tutorial für Profis ist. Nur zwei Bedingungen erfüllt
Tutorial 3, da es sich ums Programmieren handelt, obwohl das Tutorial für PHP 5 und Fortgeschrittene bzw. Profis ist. Nur eine Bedingung erfüllt
Tutorial 4, da es sich ums Programmieren handelt, obwohl das Tutorial für Fortgeschrittene und ActionScript sowie nebenbei noch Flash ist. Ansich ist hier garkeine Bedingung erfüllt.

Rein praktisch soll mir das Script aber nur Tutorial 1 ausgeben, da es als einzigstes alle 3 Bedingungen erfüllt. Ich habe schon mehrere Ansätze hinter mir, aber alles bisher vergeblich.

Meine Frage ist dacher, wie muß die Tabelle bzw. die Abfrage für soeine Suchfunktion aussehen?

Hoffe dass mir jemand von Euch weiterhelfen kann. Danke Euch schonmal! :rolleyes:

mrhappiness 13-12-2004 23:40

wäre ENUM nicht besser als SET?

wäre eine tabelle für die programmiersprachen, eine für den schwierigkeitsgrad eine für die katgerie und eine zum zuordnen zur noch zusätzlich anzulegenden tutorialtabelle nicht besser?

PHPler 14-12-2004 01:07

Aaahhh, habs nu endlich gelöst das Problem. Hab einfach die Abfrage umstrukturiert. ENUM Felder hatte ich vorher auch schon ausprobiert wobei es damit nicht so ganz wollte. Aber nu klappt das ja! ;-)

Danke Trotzdem ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:44 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG