PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : jQuery TableSearcher



Sebmaster
29.04.2009, 00:20
So, ich bin zwar Mod, hab aber selber nicht so richtig Ahnung wos hingehört, bitte nicht hauen:redface:

Vielleicht kennen einige von euch jQuery, das wunderbare JavaScript Framework. Wer sich damit ein wenig eingehender beschäftigt hat, wird vielleicht sogar das Plugin TableSorter kennen.

TableSorter sortiert einen Table (welch Wunder:biggrin1:) anhand einer im Tableheader angegeben Spalte.
Nachdem ich mich einige Zeit mit jenem begnügt habe, dachte ich mir: Du durchsuchst dauernd die Tabellen, magst jQuery, findest TableSorter toll, also schreib dein eigenes Plugin.

Ziemlich schnell habe ich dann das jQuery TableSearcher Plugin entwickelt. Das Prinzip sollte selbsterklärend sein, aber ein wenig zur Vorgensweise des Scriptes:


Die Spalten des Tables werden anhand des <thead>-Tags im Table erkannt. Zugehörig sind dann auch die <th>-Tags darin. Wer jQuery Tablesorter benutzt wird mit Tablesearcher keine Probleme haben.
Es wird ein Button "Searcher hinzufügen" über dem Table erzeugt.
Es wird ein Searcher (der Zusammenschluss eines Textfeldes und einer Select-Box) direkt über dem Button erzeugt, wobei die Select-Box die Spaltennamen des Tables enthält.
Beim Auftreten eines Onchange Events wird der Table durchsucht, und nur die Zeilen, auf die ALLE Searcher zutreffen werden angezeigt.
Beim Klick auf den Button wird ein neuer Searcher erzeugt.

Die Vorteile liegen ganz klar auf der Hand:


Keine zusätzlichen Datenbankabfragen
Sortierung + Suche in einem
Kein zusätzlicher Query an den Server

Jedoch, kein Vorteil ohne Nachteil:


JavaScript wird unbedingt benötigt
Keine Erkennung von Zahlen u.ä.; es wird stur nach Substrings gesucht
Nach jetzigem (Wissens-)Stand nur 1 Tablesearcher-Table pro Seite möglich
Tabellenspaltennamen dürfen nicht doppelt vorkommen

Den zweiten Nachteil versuche ich bereits auszumerzen, ich weiß jedoch nicht, ob ich die Zeit und Lust dazu finde, diese Arbeit zu beenden.

Die Verwendung des Plugins ist ziemlich einfach:

jQuery('#meintable').tablesearcher();Das wars bereits. Mit diesem Befehl wird der Tablesearcher mit Standardparametern erzeugt. Auf zusätzliche Parameter gehe ich in diesem Entwicklungsstadium noch nicht ein, da ich wohlmöglich noch einige hinzufügen werde.

Nun zu meiner eigentlichen Frage:
Wer würde sich für ein entsprechendes Addon fürs VMS davon interessieren?
Ich denke da zum Beispiel an Buchungslisten u.ä., bei der man die DB einmal mit meinetwegen 1000 Zeilen belastet und alle anderen Suchen nur über Tablesearcher macht.

Also, nochmal für alle die das bisherige nur überflogen haben:
Plugin verallgemeinern und dann der breiten Öffentlichkeit zur Verfügung stellen, oder besteht gar kein Interesse?:redface:

Demo: http://snippets.ad-revolution.com/

Mfg
Sebmaster

Hardy
29.04.2009, 07:31
Nun zu meiner eigentlichen Frage:
Wer würde sich für ein entsprechendes Addon fürs VMS davon interessieren?
Ich denke da zum Beispiel an Buchungslisten u.ä., bei der man die DB einmal mit meinetwegen 1000 Zeilen belastet und alle anderen Suchen nur über Tablesearcher macht.

Wenn ich das richtig verstanden habe und du ein addon für die buchungsliste machen möchtest und die buchungsliste dann wesentlich schneller geladen wird habe ich auf jedenfall interesse.

Du glaubst garnicht wie lange manchmal meine gamebuchungsliste im Adminforce lädt :frusty:

Sebmaster
29.04.2009, 14:48
Wenn ich das richtig verstanden habe und du ein addon für die buchungsliste machen möchtest und die buchungsliste dann wesentlich schneller geladen wird habe ich auf jedenfall interesse.

Die Buchungsliste wird dadurch nur bedingt schneller. Zum einen muss die Datenbank nicht mehr sortieren (Tablesorter), zum anderen braucht man z.B. keine WHERE Klauseln mehr (ausser diese sind "etwas" komplexer) (Tablesearcher).

Eigentlich zielt das Addon darauf ab, die Buchungsliste nur einmal komplett auszugeben, aber dannach keinen Refresh mehr zu haben, wenn man z.B. nur die Einträge eines bestimmten Tages haben will, oder eines bestimmten Tages UND eines bestimmten Users etc.:wink:

Sebmaster
29.04.2009, 20:16
Gut, ich bin mal so frei, und mach trotzdem einen Doppelpost, weil ich ein ganz pöser Mod bin:knueppel::redface:

Ich darf ganz stolz verkünden: Es ist Fertig!!!

Im Moment kann es ganz normal alphabetisch und numerisch (deutsches Nummernformat mit 10.000,00 oder 10000 oder 10.000) suchen, aber zusätzlich lässt sich noch jeder beliebige eigene Parser integrieren.

Wer sich bei mir meldet, kann durchaus dieses Plugin/Addon haben:wink:

Mfg
Sebmaster

bulli
29.04.2009, 21:01
Super Sachen :thumb:, das freut mich, dann meld ich mich mal bei dir.

Lokutos
29.04.2009, 21:18
http://tbn2.google.com/images?q=tbn:SMma2XAouCgbEM:http://para.schule-hamburg.de/0708/Bilder/Melden.jpg


MFG Lokutos

Hardy
29.04.2009, 21:31
auch haben will :smile: (bitte)

Sebmaster
29.04.2009, 22:36
Demo siehe oben, Dokumentation mach ich noch fertig.
Ich überleg zudem noch, die Möglichkeit zu geben, eigene Funktionen z.B. nach Abschliessen einer Suche, nach dem Fehlschlag/Erfolg eines Searchers etc.

Ich würde vorschlagen, persönlich mit jedem einzelnen zu quatschen, ggf. Tipps beim Einbau zu geben und die Funktionen zu erklären, deswegen bitte ich euch, euch entweder per ICQ oder Skype bei mir zu melden:biggrin1:

Mfg
Sebmaster

P.S.: Demo oben eingefügt (enthält Tablesorter+Tablesearcher).