"We are back" « oc.at

2 Funktionen gesucht (HTML/Javascript o. PHP)

Nightstalker 17.03.2005 - 12:25 574 4
Posts

Nightstalker

ctrl+alt+del
Avatar
Registered: Jan 2002
Location: .^.
Posts: 6706
Hi

ich bräuchte 2 Funktionen für eine Website.

1. In einem Frameset (index) soll per Zufall eine Seite aus einer UNTERSCHIEDLICHEN Anzahl Seiten (möglichst in verschiedenen Ordnern z.b. /pages/page1, /pages/page2 usw.) geladen werden, diese Seiten werden beliebig verändert und erweitert, der Zufallsgenerator soll also immer aus allen vorhandenen Ordnern wählen.

2. Auf der geladenen Seite gibt es jeweils einen VOR und einen ZURÜCK Buton mit dem man auf die Nächste Seite (page1 < PAGE2 > page3) springen kann, auch dieser Link sollte automatisch immer die nächste Seite laden unabhängig von der Anzahl an Seiten im Ordner da sich diese immer ändern kann.

Gibts da eine Möglichkeit das in HTML, Javascript oder PHP zu realisieren, wenn ja wisst ihr wie oder könnt ihr mir eine Anleitung dafür geben?

tia

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
Damit du deine Suche einschraenken kannst: es ist eine Serverseitige geschichte, d.h. dass koenntest in deinem Fall mit PHP realisieren.

Ich wuerde vorschlagen dass in zwei getrennten Schritten zu machen.
1) du suchst dir die zufaellige seite aus
2) du zerbrichst dir den kopf, woher ein dokument weiss, welche Seite die naechste bzw. vorhergehende ist

Weil, imo, das eine hat mit dem anderen nicht wirklich was zu tun.

Nightstalker

ctrl+alt+del
Avatar
Registered: Jan 2002
Location: .^.
Posts: 6706
ja soll auch nix miteinander zutun haben, sorry wenn das verwirrend is :)

Ich habs nur so geschrieben weil im Prinzip jede der Seiten einen < und > Button hat über den man dann jeweils zur vorigen oder nächsten Seite (im Ordner) kommt.

WIE Das Dokument weiß welche Seite die nächste ist ist eigentlich nicht so der Punkt, jede Page hat eine Nummer (page1, page2, etc.) und die jeweils nächste Nummer soll geladen werden bzw. eben die vorige, solange bis es keine weiter gibt dann soll eben die 1. wieder kommen. Also in VB wärs eine einfache Schleife ich weiß nur ned ob man das in HTML oder einer der genannten "Sprachen" so einfach umsetzen kann?

Wenn ich wüsste WIE dann würd ich auch ned fragen :D

Also mit dem Zufallsgenerator wär mir auch schon geholfen, das dürft es doch geben, hab ich schon mal gesehen aber fragt mich ned wo :)

Die Voraussetzungen dafür sind die Frage, ich hab jetzt eben einen Ordner in dem gibts meine Pages (wieder in Unterordnern) und da soll eben immer eine Geladen werden, zufällig.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
Also ein einfacher algo waere:
1. Nimm das Startverzeichnis, gehe rekursiv alles durch, bis du eine Liste aller Dateien hast
2. Suche eine davon per Zufall aus und linke dort hin

Je nach Menge kann Schritt 1 Zeit/Resourcen intensiv sein, d.h. dieser Teil sollte nur periodisch gemacht und gecacht und nicht fuer jede Anfrage gemacht werden.

Um Verzeichnisse einlesen und traversieren zu koennen brauchst du Funktionen wie 'opendir, 'readdir', 'is_dir', moeglicherweise 'chdir'.

Wenn du eine Liste aller Files in einem Array hast, kannst du einfach mit 'array_rand' ein beliebiges rausholen.

Fuers blaettern:
Wenn die Konvention page1, page2, .., pageX eingehalten wird, kannst du folgenden Ansatz nehemn:
1. Hol mir den Namen des aktuellen Dokumentes (z.B. aus PHP_SELF) und extrahiere die Nummer (z.b. preg_match)
2. > 1? Dann verlinke auf nummer-1
3. Existiert nummer+1 als Datei (mitteils file_exists pruefen), dann verlinke auch darauf.

Wenn die Nummerierung von Human Resourcen gemacht wird, sollte der Algorithmus ein wenig intelligenter sein und ggf. fehlende Nummern erkennen und ueberspringen koennen.

HTH

Nightstalker

ctrl+alt+del
Avatar
Registered: Jan 2002
Location: .^.
Posts: 6706
ok in der theorie hab ichs kapiert :) nur sowas zu coden trau ich mir auf die schnelle nicht zu, problem ist, es darf wenig zeit in anspruch nehmen und im prinzip nix kosten daher denk ich machts keinen sinn...?

Hier trotzdem mal der Verzeichnisbaum wie er dann aussehen würde:

HOMEPAGE
_index.xxx
__PAGES
___PAGE1
____1.xxx
___PAGE2
____2.xxx
___PAGE3
____3.xxx
___PAGE4
____4.xxx
___PAGE5
____5.xxx
___PAGE6
____6.xxx
___PAGE7
____7.xxx
___PAGE8
____8.xxx
___PAGE9
____9.xxx
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz