Hallo zusammen!
Bin mir nicht ganz sicher, wie ich meine Fragestellung überhaupt benennen soll, deswegen wusste ich auch nicht, nach was ich suchen sollte. Also falls es schon einmal Themen dazu gab, entschuldigt bitte.
Vor der Frage noch schnell die Rahmenbedingungen:
Ich verwalte eine Leichtathletik-Seite. Es soll hierbei um die Auflistung und Betrachtung der Athleten gehen. (Ganz nebenbei, bin quasi noch eine PHP-Anfängerin, deswegen ist meine Vorgehensweise sicher nicht ausgereift.)
Ok, also ich habe die Datei athtletenlist.php, in der die Athleten aufgelistet werden, getrennt nach männlich/weiblich sowie nach Altersklassen. Die Datenbanktabelle sieht dementsprechend etwa so aus:
id - name ---- vorname - geschlecht - alter ...
1 -- muster -- max -------- m ------------ 17
2 -- minze --- pfeffer ----- m ------------ 10
3 -- cola ----- cherry ----- w ------------ 10
4 -- vitamin -- multi ------- m ------------ 17
5 -- lyse ----- anna ------ w ------------ 17
6 -- meier ---- mischa ---- m ------------ 17
So, nun filter ich also in athletenlist.php die Einträge so raus, dass z.B. bei männlichen Athleten der Alterklasse 17 folgende Einträge alphabetisch (Nachname) geordnet stehen:
6 -- meier ---- mischa ---- m ------------ 17
1 -- muster -- max -------- m ------------ 17
4 -- vitamin -- multi ------- m ------------ 17
So, in einem zweiten Schritt werden die Namen der Athleten verlinkt zur Datei athleten.php. In diese Datei übergebe ich die Variablen $ath und $let, die jeweils Vor- und Nachnamen der Athleten beinhalten. Anhand dieser Variablen lese ich aus der Datenbank den entsprechenden Einzeleintrag raus und lasse ihn in athleten.php anzeigen, die ist die so genannte "Profilseite". Soweit so gut.
Status Quo:
Um sich einen Athleten nach dem anderen anschauen zu können, muss man immer zurück zur Liste, um dann den nächsten anzuklicken. Das nervt irgendwie...
Fragestellung:
Wie kriege ich es hin, dass ich über die Profilseite mittels eines Vor- und Zurückbuttons die nächsten und vorherigen Athleten anzeigen kann?
Meine Vorüberlegung:
Die vorherigen Athleten anzuzeigen halte ich nicht für so schwierig. Ich würde der athleten.php einfach zwei weitere Variablen übergeben, die Vor- und Nachname des vorherigen Athleten beinhalten. Dies würde ich hinbekommen, indem ich in der while-Schleife die aktuellen Namen kurz vor Ende der Schleife einfach dem nächsten Eintrag übergebe. Damit wird aus dem aktuellen Athlet der Vorherige, einleuchtend, oder? Das müsste doch funktionieren... Die Anfangswerte der Variablen wären einfach "" und ""
Schwierigkeiten habe ich mit dem nächsten Athleten, da dieser beim aktuellen Athleten ja wegen der while-Schleife noch nicht ausgelesen wird. Und da in diesem Beispiel die ids 6, 1 und 4 in dieser Reihenfolge ausgelesen werden, kann ich auch danach nicht gehen. Habe mich gefragt, ob ich die ausgelesenen Werte in ein neues Array setzen kann und dann über so Operationen wie $athforward = name[2];, während ich noch bei [1] bin, weiter komme. Weiß aber nicht so recht, wie man das macht und ob das dann auch funktionieren würde.
Zusammenfassend also:
Wie kriege ich es hin, dass ich beim aktuellen Eintrag schon den nächsten "voraussehen" kann? Geht das überhaupt?
Falls ihr dazu noch weitere Infos braucht, bitte fragen. Wusste jetzt nicht, welcher Teil meines Skriptes relevant ist, denn schließlich würde es sich ja um eine Ergänzung nicht um eine Korrektur handeln.
Also vielen lieben Dank schon mal!!
Viele Grüße!
Piepmatz
Bin mir nicht ganz sicher, wie ich meine Fragestellung überhaupt benennen soll, deswegen wusste ich auch nicht, nach was ich suchen sollte. Also falls es schon einmal Themen dazu gab, entschuldigt bitte.
Vor der Frage noch schnell die Rahmenbedingungen:
Ich verwalte eine Leichtathletik-Seite. Es soll hierbei um die Auflistung und Betrachtung der Athleten gehen. (Ganz nebenbei, bin quasi noch eine PHP-Anfängerin, deswegen ist meine Vorgehensweise sicher nicht ausgereift.)
Ok, also ich habe die Datei athtletenlist.php, in der die Athleten aufgelistet werden, getrennt nach männlich/weiblich sowie nach Altersklassen. Die Datenbanktabelle sieht dementsprechend etwa so aus:
id - name ---- vorname - geschlecht - alter ...
1 -- muster -- max -------- m ------------ 17
2 -- minze --- pfeffer ----- m ------------ 10
3 -- cola ----- cherry ----- w ------------ 10
4 -- vitamin -- multi ------- m ------------ 17
5 -- lyse ----- anna ------ w ------------ 17
6 -- meier ---- mischa ---- m ------------ 17
So, nun filter ich also in athletenlist.php die Einträge so raus, dass z.B. bei männlichen Athleten der Alterklasse 17 folgende Einträge alphabetisch (Nachname) geordnet stehen:
6 -- meier ---- mischa ---- m ------------ 17
1 -- muster -- max -------- m ------------ 17
4 -- vitamin -- multi ------- m ------------ 17
So, in einem zweiten Schritt werden die Namen der Athleten verlinkt zur Datei athleten.php. In diese Datei übergebe ich die Variablen $ath und $let, die jeweils Vor- und Nachnamen der Athleten beinhalten. Anhand dieser Variablen lese ich aus der Datenbank den entsprechenden Einzeleintrag raus und lasse ihn in athleten.php anzeigen, die ist die so genannte "Profilseite". Soweit so gut.
Status Quo:
Um sich einen Athleten nach dem anderen anschauen zu können, muss man immer zurück zur Liste, um dann den nächsten anzuklicken. Das nervt irgendwie...
Fragestellung:
Wie kriege ich es hin, dass ich über die Profilseite mittels eines Vor- und Zurückbuttons die nächsten und vorherigen Athleten anzeigen kann?
Meine Vorüberlegung:
Die vorherigen Athleten anzuzeigen halte ich nicht für so schwierig. Ich würde der athleten.php einfach zwei weitere Variablen übergeben, die Vor- und Nachname des vorherigen Athleten beinhalten. Dies würde ich hinbekommen, indem ich in der while-Schleife die aktuellen Namen kurz vor Ende der Schleife einfach dem nächsten Eintrag übergebe. Damit wird aus dem aktuellen Athlet der Vorherige, einleuchtend, oder? Das müsste doch funktionieren... Die Anfangswerte der Variablen wären einfach "" und ""
Schwierigkeiten habe ich mit dem nächsten Athleten, da dieser beim aktuellen Athleten ja wegen der while-Schleife noch nicht ausgelesen wird. Und da in diesem Beispiel die ids 6, 1 und 4 in dieser Reihenfolge ausgelesen werden, kann ich auch danach nicht gehen. Habe mich gefragt, ob ich die ausgelesenen Werte in ein neues Array setzen kann und dann über so Operationen wie $athforward = name[2];, während ich noch bei [1] bin, weiter komme. Weiß aber nicht so recht, wie man das macht und ob das dann auch funktionieren würde.
Zusammenfassend also:
Wie kriege ich es hin, dass ich beim aktuellen Eintrag schon den nächsten "voraussehen" kann? Geht das überhaupt?
Falls ihr dazu noch weitere Infos braucht, bitte fragen. Wusste jetzt nicht, welcher Teil meines Skriptes relevant ist, denn schließlich würde es sich ja um eine Ergänzung nicht um eine Korrektur handeln.
Also vielen lieben Dank schon mal!!
Viele Grüße!
Piepmatz
Kommentar