Andreas Bierhals: «input type=int....

Beitrag lesen

Hallo nochmal!

Bei der Sache geht es darum, daß so um die tausend Artikel bestellt werden können.
Als Skriptsprache verwende ich Perl.

Werden die Artikelbezeichnungen als Text in einem Textfeld eingegeben oder über eine Liste? Falls die Suche des entsprechenden Artikels in einer Datei mit Tausenden von Einträgen der zeitliche 'Flaschenhals' sollte, fällt mir dazu der Artikel "Programmierter Spielgewinn" oder so ähnlich aus der vorletzten C‚t (Nr. 7/99) ein - Stichwort: Hashfunktionen. Die Methode besteht grob darin, aus der Artikelbezeichnung eine Checksumme zu berechnen, die z.B. von 00 bis 99 gehen darf (-> Hash-Funktion). Danach könntest Du Deine Artikeldatei (z.B. articles.dat) in 100 Dateien splitten (article00.dat, article01.dat ...) und danach sämtliche Artikel gemäß ihrer Hashfunktion in die Dateien einsortieren lassen.

Wenn dann jemand einen Artikel sucht, wird erst die Hashfunktion berechnet - irgendeine Zahl von 00-99 - und dann nur noch in der Datei mit der entsprechenden Nummer gesucht, in der sich normalerweise nur noch um die 10 Einträge befinden dürften. Ergebnis: Statt im Mittel 500 Textvergleiche benötigt das Skript dann nur noch ca. 5-10!
Soviel als Anregung, denn - mit Perl sollte so etwas eigentlich gut realisierbar sein.

Viele Grüße

Andreas Bierhals