Mailinglisten-Archive |
> ich verzweifle gerade daran Seitenweise Daten auszugeben , ich meine die > Datensatzausgabe auf eine bestimmte Anzahl pro Seite zu begrenzen. Ich hab > auch irgendtwo ein Beisüpiel gesehen und hab es aber dann wieder aus den > augen verloren,,... > > hat da jemand ein Tip für mich? > hallo peter, ich habe das so gemacht (incl. navigation, ohne layout): $limit:anzahl der datensaetze auf einer seite $back:variable fuers zuruckblaettern $forth:variable fuers vorwaertsblaettern $floor: nummer des 1. auf einer seite angezeigten datensatzes $aktseite: aktuelle angezeigte seite <code> $limit=30; if(isset($back)){$floor=$back;$aktseite--;} //wenn zurueckgeblaettert, setze variablen if(isset($forth)){$floor=$forth;$aktseite++;} //detto fuer vorwaertsbl. if(!isset($floor)){$floor=0;$aktseite=1;} //beim 1.seitenaufruf setze variablen $back=$floor-$limit; //fuer das naechste zurueckblaettern setze variablen $forth=$floor+$limit; //detto fuer vorwaertsbl. // wenn die gesamtanzahl der datensaetze noch nicht gezaehlt worden sind, mach das if(!isset($numrows)) { $query="SELECT id FROM $table WHERE blabla"; $select=mysql($database,$query); $numrows=mysql_numrows($select); } //seitenkopf mit navigationslinks $seitenanz=ceil($numrows/$limit); //seitenanzahl ermitteln if($floor>0) { echo"<a href='$PHP_SELF?back=$back&aktseite=$aktseite&numrows=$numrows'>zurueckblaettern</a><br>"; } if($seitenanz>1)echo"<b>seite $aktseite von $seitenanz</b><br>"; if($forth<$numrows) { echo"<a href='$PHP_SELF?forth=$forth&aktseite=$aktseite&numrows=$numrows'>vorwaertsblaettern</a><br>"; } //die eigentliche db-abfrage $query2="SELECT bla FROM $table WHERE bla LIMIT $floor,$limit"; $select2=mysql($database,$query2); (tabelle generieren.....) //seitenfuss mit der moeglichkeit, eine seite direkt anzuspringen if($seitenanz>1) { echo"seite: "; for($i=1;$i<=$seitenanz;$i++) { $floor=($i*$limit)-$limit; if($i==$aktseite) { echo"[$i] "; } else { echo"[<a href='$PHP_SELF?aktseite=$i&numrows=$numrows&floor=$floor'>$i</a>] "; } } } </code> das funktioniert. du kannst es dir unter http://www.audiomat.at/index.php3?action=nachges auch ansehen. moeglicherweise etwas umstaendlich und naiv. wenn jemand meint, der code ist mist oder ineffizient, dann moege er/sie mir die augen oeffnen! ronald hartwig
php::bar PHP Wiki - Listenarchive