PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Primitivlösung für sortierbare Tabelle


Bojo
2022-05-03, 16:59:56
Ich habe für ein Hobby eine große Anzahl von Einzeldateien erzeugt, die Interessierte herunterladen können. Dabei sollen die Dateien nach Name, aber auch zwei weiteren Attributen sortierbar, suchbar und filterbar sein, um die Auffindbarkeit zu erleichtern.

Das Ganze sollte einfach zu ergänzen sein. Bisheriger Ansatz war:
- ergänzend zu den Dateien einen Index als JSON schreiben, der Attribute und Verweis auf Downloadlink erhält,
- Index als Tabelle mit einem der verfügbaren JQuery Plugins anzeigen.

Da ich aber immer mal wieder einzelne Dateien hinzuladen muss, müsste ich dafür jedesmal auch den Index erzeugen und tauschen. Geht das auch einfacher? Gibt es ggf JS, welches einen Ordner durchsucht und auf Basis von Dateiname so einen Index automatisch bei Aufruf der Seite erzeugen und in Tabelle überführen kann?

Milchkanne
2022-05-04, 09:54:18
Erste Frage: Welche weiteren Attribute? Die sind alle "auf Bases [des] Dateinames"?

Man kann Serverseitig das Dateilisting aktivieren lassen. Wenn dann keine index.htm(l) im Ordner liegt, werden alle Dateien angezeigt. Das kann man dann mit Javascript Parsen und so einen Index erzeugen. Scheint mir aber eher aufwändig zu sein. Ob es passendes fertiges Javascript dazu gibt, weiß ich nicht. Ich würde das eher als ungewöhnliches Feature bezeichnen und damit eher zu "nein" tendieren.

Ansonsten ein kleines PHP script schreiben, wass dir den JSON Index erstellt. Bei jedem Update musst du dann nur einmal das PHP aufrufen und fertig. Wie erstellst du das Json denn bisher? Einfacher als ein Script auf dem PC ist das jetzt auch kaum.

Und was genau sind deine Attribute?

Tabelle mit Jquery würde man heute natürlich nicht mehr machen. Aber wenn es läuft und nicht zu langsam ist, warum nicht.

Bojo
2022-05-04, 11:07:05
Erste Frage: Welche weiteren Attribute? Die sind alle "auf Bases [des] Dateinames"?

Man kann Serverseitig das Dateilisting aktivieren lassen. Wenn dann keine index.htm(l) im Ordner liegt, werden alle Dateien angezeigt. Das kann man dann mit Javascript Parsen und so einen Index erzeugen. Scheint mir aber eher aufwändig zu sein. Ob es passendes fertiges Javascript dazu gibt, weiß ich nicht. Ich würde das eher als ungewöhnliches Feature bezeichnen und damit eher zu "nein" tendieren.

Ansonsten ein kleines PHP script schreiben, wass dir den JSON Index erstellt. Bei jedem Update musst du dann nur einmal das PHP aufrufen und fertig. Wie erstellst du das Json denn bisher? Einfacher als ein Script auf dem PC ist das jetzt auch kaum.

Und was genau sind deine Attribute?

Tabelle mit Jquery würde man heute natürlich nicht mehr machen. Aber wenn es läuft und nicht zu langsam ist, warum nicht.
Es handelt sich um Dateien, die verschiedene Gebiete und Themen abdecken. Ich könnte also problemlos den Dateinamen so aufbauen, dass diese zu parsen sind. Ich finde dazu aber nur sehr hässliche Scripte.

Den JSON-Index würde ich per Script erstellen. Ist natürlich nicht übermäßig schwierig, aber halt ein Schritt mehr, welchen zu sparen ich mir erhofft hatte.

Wie würde man es denn performanter/besser als mit jquery machen? Bin nicht so der Webguru, mehr Datenanalyst. Die Tabelle hat ca. 2500 Einträge, geht performancemäßig so einigermaßen.

Milchkanne
2022-05-06, 16:34:14
Also irgendwie muss du den Index ja erstellen.
1) JS im Browser, indem du den Verzeichnisindex parst
2) PHP Script auf dem Server, der entweder bei jedem Aufruf aufgerufen wird (a) oder nur einmal von dir (b)
3) bash/.bat/python/whatever bei dir aufm PC.

Ich behaupte 1) ist am gurkigsten zu coden und braucht beim Laden ein paar MS mehr als alles andere.

2 (a) ist vielleicht am einfachsten und wenn nur wenige Besucher draufgehen, geht das von der Performance her schon. Oder du cachst den Index, ist dann aber wieder aufwändiger.

2 (b) und 3 sind für dich vom Aufwand her ziemlich gleich. Wenn du die Dateien in einem Ordner hast, kannst du dir am besten ein Script schreiben, das den Index erstellt und dann die Dateien alle gleich auf den Server synct. Das ist dann langfristig am einfachsten. Je nachdem mit welcher Programmiersprache du am flottesten bist, ist das dann einfacher oder nicht zu coden.

Also technisch kann man natürlich auch mit JQuery schnell sortierbare Tabellen bauen. Machen aber vermutlich die wenigsten. Die meisten nutzen für Web Apps halt so ein Framework wie Vue, React oder Angular. Da gibt es vermutlich auch fertige Plugins oder so, die eine sortierbare Tabelle schnell bereitstellen.