Solar Posted February 3, 2009 Share Posted February 3, 2009 Is there a way to sort this into pages.. Like say.. show 20 members per page without having to make seperate pages? Like an array? ><?php include("include/session.php"); function displayUsers(){ global $database; $q = "SELECT username,userlevel,email,timestamp " ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username"; $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if(!$result || ($num_rows < 0)){ echo "Error displaying info"; return; } if($num_rows == 0){ echo "Database table empty"; return; } /* Display table contents */ echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n"; echo "<tr><td><b>Username</b></td><td><b>Email</b></td></tr>\n"; for($i=0; $i<$num_rows; $i++){ $uname = mysql_result($result,$i,"username"); $email = mysql_result($result,$i,"email"); echo "<tr><td><a href=\"userinfo.php?user=$uname\">$uname</td><td>$email</td></tr>\n"; } echo "</table><br>\n"; }?> <? displayUsers(); ?> Link to comment https://forums.phpfreaks.com/topic/143700-sorting/ Share on other sites More sharing options...
flyhoney Posted February 3, 2009 Share Posted February 3, 2009 http://www.google.com/search?q=php+pagination&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a Link to comment https://forums.phpfreaks.com/topic/143700-sorting/#findComment-753968 Share on other sites More sharing options...
premiso Posted February 3, 2009 Share Posted February 3, 2009 http://www.phpfreaks.com/tutorial/basic-pagination Pagination is what you are looking for. EDIT: Beaten to it, but I posted the in house tut, w00t! Link to comment https://forums.phpfreaks.com/topic/143700-sorting/#findComment-753969 Share on other sites More sharing options...
Solar Posted February 3, 2009 Author Share Posted February 3, 2009 Thanks a lot for your help. I will have a look into it. Seems easier then I thought. Link to comment https://forums.phpfreaks.com/topic/143700-sorting/#findComment-753971 Share on other sites More sharing options...
Solar Posted February 4, 2009 Author Share Posted February 4, 2009 <?php include("include/session.php"); function displayUsers(){ global $database; $q = "SELECT username,userlevel,email,timestamp " ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username"; $result = $database->query($q); for ($x = 0; $x < 106; $x++) { $number = rand(100,999); $sql = "INSERT INTO numbers (username, id) VALUES ($username, '')"; } // number of rows to show per page $rowsperpage = 10; // find out total pages $totalpages = ceil($numrows / $rowsperpage); // get the current page or set a default if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) { // cast var as int $currentpage = (int) $_GET['currentpage']; } else { // default page num $currentpage = 1; } // end if // if current page is greater than total pages... if ($currentpage > $totalpages) { // set current page to last page $currentpage = $totalpages; } // end if // if current page is less than first page... if ($currentpage < 1) { // set current page to first page $currentpage = 1; } // end if // the offset of the list, based on current page $offset = ($currentpage - 1) * $rowsperpage; // get the info from the db $sql = "SELECT id, username FROM users LIMIT $offset, $rowsperpage"; // while there are rows to be fetched... while ($list = mysql_fetch_assoc($result)) { // echo data echo $list[''] . "<a href=\"userinfo.php?user=" . $list['username'] . "\">" . $list['username'] . "<br />"; } // end while /****** build the pagination links ******/ // range of num links to show $range = 3; // if not on page 1, don't show back links if ($currentpage > 1) { // show << link to go back to page 1 echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><<</a> "; // get previous page num $prevpage = $currentpage - 1; // show < link to go back to 1 page echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> "; } // end if // loop to show links to range of pages around current page for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) { // if it's a valid page number... if (($x > 0) && ($x <= $totalpages)) { // if we're on current page... if ($x == $currentpage) { // 'highlight' it but don't make a link echo " [<b>$x</b>] "; // if not current page... } else { // make it a link echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> "; } // end else } // end if } // end for // if not on last page, show forward and last page links if ($currentpage != $totalpages) { // get next page $nextpage = $currentpage + 1; // echo forward link for next page echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'>></a> "; // echo forward link for lastpage echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>>></a> "; } // end if /****** end build pagination links ******/ }?> <? displayUsers(); ?> Doesn't seem to be cutting the members and sorting them into seperate pages.. Example; http://72.38.175.121/members%20-%20copy.php?currentpage=0 Link to comment https://forums.phpfreaks.com/topic/143700-sorting/#findComment-753996 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.