AndreasT: Extrem lange Auswahllisten (Ergänzung)

Beitrag lesen

Ich habe in einer PHP-Seite eine Auswahlliste, bei der die Anzahl der options abhängig vom Zugang des angemeldeten Users ist. Der Admin kann theoretisch alle Eintäge sehen, das wären z.Zt. etwas über 9000. Leider klappt sich die Liste beim Admin aber nicht auf. Bei anderen Usern, mit ein paar hundert Einträgen, aber schon.

Testobjekt: (Ich habe daraus statisches HTML erzeugt und das als Datei geöffnet - die übrigens und erwartungsgemäß ganz schön groß wird: 35,5KB/1000 Einträge)

<form>
<select name="test">
<?php
for ($i=0; $i<9000; $i++) {
?>
<option value="<?=$i;?>">Foo<?=$i;?></option>
<?php
}
?>
</select>
</form>

Test mit Firefox 49.0.2, 64bit unter Ubuntu 14.04 auf einem Desktop-Rechner - ohne Plugins:

Geht auf. Allerdings hatte ich im Firefox mit Plugins und 33000 Einträgen (ich hatte die Integer-Grenze von 2^15 in Verdacht) beim Versuch der Auswahl einen Absturz nach der Meldung: Alternativ-Text

Test mit Chromium 53, 64bit unter Ubuntu 14.04 auf einem Desktop-Rechner, 9000 Einträge:

Unbedienbar. Öffnet sich nicht. 1 Prozessor dauerhaft zu 100% ausgelastet. Ich habe aber auch nicht länger als 30s gewartet. Das würde niemand tun.

Fazit:

Ich schätze Dein Vorhaben in der gegenwärtigen Form als "nicht realisierungswürdig" ein. Die Bedienung ist nicht möglich oder einfach schrecklich.

Nachtrag:

Bau Dir eine brauchbare Suchfunktion. Tipps dazu bekommst Du, wenn Du das Vorhaben erläuterst. Und ja, es kommt auf den Inhalt UND die beabsichtigte Funktion an.

Vielen Dank, Tagwächter!

Ich antworte mal hier gleich für alle, und mit Verlaub, ich werde mir die gleiche besserwisserische Schnöseligkeit, die mir zuteil wurde, auch nicht verkneifen. ;-)

Tagwächter hat wenigstens erstmal die ganze Frage gelesen und auch beantwortet. Um Einschätzungen meines Euch nicht bekannten Konzepts hatte ich nicht gebeten. Die Auswahllisten funktionieren bisher prima mit bis zu 2500 Elementen. Der IQ meines Kunden reicht aus, um so eine Auswahl in ein paar Sekunden durchzuscrollen, und das Element, das er sucht, zu wählen. Und dass ich die Sache mit Anmeldungen, die weniger Elemente öffnen, bereits gegengechecked hatte, habe ich oben geschrieben. Ich benötige also auch solche Belehrungen nicht.

Wenn es noch interessiert, kann ich kurz erläutern, worum es geht. Auf der PHP-Seite wurden bisher Elementente aus verschiedenen SharePoint-Bibliotheken separat aufgelistet. Diese Bibliotheken enthalten Dokumente gleichen Typs, allerdings immer nur einen Jahrgang. Es gibt drei Schnellsuchbefehle: "Gehe zu einem bestimmten Datum", "Gehe zu einem bestimmten Dokument" und "Suche". "Gehe zu ... Dokument" bedeutet, dass erst einmal alle Dokumete aufgelistet werden müssen, und das funktioniert mit bis zu 2500 Doks flüssig. Wunsch des Kunden war nun aber, die Abfrage über alle Bibliotheken zu erstrecken, um u.A. bestimmte Themen aus sämtlichen Datensätzen herauszufiltern, ohne die Ansicht zu verlassen. Das funktioniert auch bei der Suche und beim Springen zu einem bestimmten Datum, ab dem wiederum alle folgenden Datensätze angezeigt werden.

Das Springen zu einem bestimmten Dokument funktioniert bisher nur für den Admin nicht, weil nur hier die Auswahl alle über 9000 Elemente umfasst. Deshalb wäre es auch verschmerzbar, denn die eigentlichen Klienten haben mit ihren paar hunder Dokumenten kein Problem. Es war aber eine Frage des Ehrgeizes herauszubekommen, woran es hakt.

Tagwächter hat mit seiner schlichten aber hervorragenden Idee eine Testanordnung geliefert, die beweist, dass die Größenordnung grenzwerttig ist. QED. Und dafür einen recht schönen Dank!

Nun werde ich mich damit befassen, wie ich mit javaScript (schickere Programmiersprachen beherrsche ich leider nicht) in die Auswahlliste eine Gruppierung hinein gebastelt kriege, und dann wird auch das funktionieren.