Kostenlose Unterprogramme bei123.de
Datenbank-Design & bp-Programmierung & Webtools Webmaster: Harald Fehde & Website: bei123.de Weitere kostenlose Codeschnipsel und Anwendungen finden Sie:
 |
detail_weiter_zurueck
Wie erstelle ich die Links für [Weiter] bzw. [Zurück] bei einer Detail-Anzeige?
Eine Auto-Datei dient als Beispiel für die Umsetzung. Die Datei hat die Felder Marke, Farbe, Tueren ,Preis (siehe unten).Die Anzeige der Datensatznavigation erfolgt, nachdem die Detail-Ansicht ausgewählt wurde.
Weiter unten wird auch der Code des Unterprogramms und die Parameterübergabe erläutert.
Programmcode/Parameter
1.)Zunächst wird abgefragt, ob eine Suchroutine gelaufen ist und es werden entsprechende Suchparameter gespeichert.
<html><head><title></title></head><body> <perl> if(%_sel) { $Such_param="@_sel"; } else { $Such_param="Id==*"; } </perl>
|
2.)Nachfolgend das Unterprogramm "detail_weiter_zurueck", welches die Weiter/Zurück-Links in einer while-Schleife generiert
<perl> sub detail_weiter_zurueck { $_go_id=$_get{Id}; get "$Such_param sort=$_[0]", "$_[1]"; $_lfd_nr=0;
|
while(get_next("$_[1]")) { $ID_LISTE[$_lfd_nr]=$_id; $_go_nr=$_lfd_nr if($_go_id==$_id); $_lfd_nr++; }
$_am_ende=$#ID_LISTE; $_go_zurueck="<a href=$_link&cmd=all&Id=$ID_LISTE[$_go_nr-1]>Zurück</a>" if ($_go_nr>0); $_go_weiter="<a href=$_link&cmd=all&Id=$ID_LISTE[$_go_nr+1]>Weiter</a>" if ($_go_nr<$_am_ende);
|
if (%_sel) { $_go_zurueck="<a href=$_link&$Such_param&cmd=all&Id=$ID_LISTE[$_go_nr-1]>Zurück</a>" if ($_go_nr>0); $_go_weiter="<a href=$_link&$Such_param&cmd=all&Id=$ID_LISTE[$_go_nr+1]>Weiter</a>" if ($_go_nr<$_am_ende); } } </perl>
|
3.)Danach wird hier als "Beispiel" die Autodatei aufgerufen !
<do action=all db=Autos range^=0,10 sort=Marke>
|
4.)Falls die Detail-Ansicht gewählt wurde, wird das Unterprogramm aufgerufen - es müssen die 2 Parameter Sort-Feld (hier "Marke") und Datei (hier "Autos") an das Unterprogramm übergeben werden. $_go_zurueck und $_go_weiter sind die beiden Links für Weiter bzw Zurück.
<perl> if($cmd eq "all") { &detail_weiter_zurueck("Marke","Autos"); out "$_go_zurueck $_go_weiter";
|
5.)Mit get "Id==!$_go_id" kann ggf. ein Datensatz angesprochen werden. (siehe obiges Beispiel) Falls dies nicht benötigt wird, können die nächsten 4 Zeilen des Pogrammcodes entfernt werden.
get "Id==!$_go_id" , "Autos"; out "<hr>"; out "<b>$Marke $Farbe $Tueren $Preis </b>EURO<br>"; out "<hr>";
} </perl> </body></html>
|
powered in 0.01s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!