• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Suchfunktionen mit Mehrfachauswahl

eddaz

New member
Hallo,
folgende Aufgabe:

Auf einer Webseite gibt es eine Liste von Künstlern (aus Datenbank/PHP/MySql), die über ein Formular mit zwei select-Listen nach 1stens Kategorien und 2tens Orten (Mehrfachauswahl möglich) gefiltert werden soll. Beispiel:Maler + Bildhauer aus Köln und Bonn. Dazu kommt, daß ein Künstler auch mehreren Kategorien angehören kann. Das Ergebnis der Auswahl soll in der Liste farbig hervorgehoben werden.

Solche Suchfunktionen habe ich schon oft gesehen. Aber je länger ich darüber nachdenke, wie sowas funktioniert, desto verwirrter werde ich.
Ich wollte eigentlich jedem Listenpunkt gleich entsprechende Klassen zuweisen, aber ich kriege noch nichtmal ein getElementsByClassName hin.
Habe ein absolutes Brett vorm Kopf.

Ist das überhaupt der richtige Ansatz?

Bin für jede Anregung dankbar!!!

eddaz
 
mhh, du hast eine Liste auf deiner Seite, durch die man unter umständen lange scrollen muss, oben auf der Seite hast die genannten Auswahlfelder, und wenn du nun hier was ausgewählt hast, sollen die betreffenden farblich makiert werden?!

Ich würde sowas dann eher serverseitig lösen, und nur die entsprechenden Treffer anzeigen... wenn du es unbedingt mit JS machen willst, kannst du wie folgt vorgehen:

1. event auf eine Auswahl
2. jede Zeile der Tabelle durchlaufen (ich geh mal davon aus, das es ne Tabelle ist), und wenn es einen Treffer gibt wird diese farblich geändert, indem du den "tr" einfach ne Farbe gibst

ich hoffe ich habe dich richtig verstanden ;)
 
Ah,
die Künstler werden in in eine ul-Liste geschrieben und diese auf drei Spalten umgebrochen,es sind nur etwa 60.
Das klappt ganz gut mit einem Javascript (CSS3 Multi Column - CSScripting). Haben alle Platz, kein Scrollen.

Event auf eine Auswahl, mache ich.

Aber wie filtere ich denn nun die die Liste mit Javascript, wie habe ich Zugriff auf die Klassen?

Einfacher wäre es für mich wohl den Listenpunkten IDs zu geben, (die aus der Datenbank). Dann eine Sql-Anfrage entsprechend der Mehrfachauswahl. Das Ergebnis kann ich dann mit dem klassischen getElementById umsetzen. Das sollte ich eigentlich hinkriegen. Dummerweise brauche ich dann einen Submit-Button um das Formular abzusenden, weil ich ja die Anfrage aus zwei Select-Listen zusammenstelle. OnChange geht also nicht, schade.

Lieber wäre mir schon ich könnte das mit Javascript regeln, ohne Neuladen.
Aber da blicke ich im Moment überhaupt nicht durch.

Danke!
 
Du kannst auch einfach beide Einschränkungen in Textfelder packen und nach dem Submit bei der Ausgabe des Select foglendes Einschränken:

Code:
while($data=mysql_fetch_array($resultset))
			{
				if ($data['Kuenstler'] == $wert1 || $data['Kategorie'] == $wert2)
                                  { 
                                     hintergrund rot
                                  }
                                 else
                                     normal
                         }
So kannst du deine Auswahl gleich beim Selektieren markieren.
Oder soll nur ein Treffer angezeigt werden wenn Kuenstler und Kategorie der Suche beide vorhanden sind?
 
Zurück
Oben