Mailinglisten-Archive |
On Wed, 21 Jul 1999 14:27:50 +0200, Joern Krueger wrote: >> da bei einer Abfrage der MySQL-Datenbank natürlich immer unterschiedlich >> viele Treffer erzielt werden und ich gerne immer eine bestimmte Anzahl >> von Treffern pro Seite dargestellt haben möchte, suche ich nach einem > >Falls jemand dieses Problem lösen kann, würde mich noch interessierten, >ob jemand weiß, wie man dafür sorgen kann, daß nicht immer die gleichen >Sätze auf der ersten Seite stehen. Als erstes muß du mit "select count(id) from table" die komplette anzahl der zeilen haben, um eine echte navigation zustande zu bekommen. Dann kannst du mit "... limit $nPos,10" genau die eingeschränkten datensätze erhalten. Die navigation wie Vor/zurück/ende/anfang muß du dir dann etwa so bauen: Folgendes wird immer von der seite tabelle.php3 aufgerufen und erhält als variable $nPos: $strSQL = "select count(id) as anzRow from $cfgTabArtikel"; $intResultID = mysql_query($strSQL, $connectionID); $intAnzRow = mysql_result($intResultID,0,"anzRow"); if (!isset($nPos)) { $nPos = 0; } $cfgMaxRows = 10; // limit $nPosNext = $nPos + $cfgMaxRows; $nPosPrev = $nPos - $cfgMaxRows; // Hier das echte "select ... limit $nPos,$cfgMaxRows und // ausgaben einsezten // ... if ($nPosNext > $intAnzRow) // Wenn am ende der tabelle $nBis = $intAnzRow; else $nBis = $nPosNext; // oder die nexte position // Zurück if ($nPos >= $cfgMaxRows) { $strNavBeginn = "tabelle.php3?nPos=0"; $strNavPrev = "tabelle.php3?nPos=$nPosPrev"; // hier nun echo oder include template... } // Vor if ($nPosNext <= $intAnzRow) { $intEnde = $intAnzRow-$cfgMaxRows+1; $strNavNext = "tabelle.php3?nPos=$nPosNext"; $strNavEnde = "tabelle.php3?nPos=$intEnde"; // hier nun echo oder include template... } ciao amalesh ps: bitte nicht über die variablen-namen wundern, ich komme aus der windows-welt wo die ungarische notation der variablen usus ist. -- Anwendungsentwicklung mit C++ JAVA VB PHP ASP SQL POET SGML XML http://www.living-source.com ~ ak_(at)_living-source.com ~ icq963380 Hamburg : Tel. 040-39904183 Fax. 040-39904328 Mob. 0170-4809618 Freiburg: Tel. 0761-152580 Fax. 0761-1525850
php::bar PHP Wiki - Listenarchive