Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<pre><code>&lt;?php&lt;br&gt; // database connection info&lt;br&gt; $conn = mysql_connect('localhost','dbusername','dbpass') or trigger_error("SQL", E_USER_ERROR);&lt;br&gt; $db = mysql_select_db('dbname',$conn) or trigger_error("SQL", E_USER_ERROR);&lt;br&gt; // find out how many rows are in the table &lt;br&gt; $sql = "SELECT COUNT(*) FROM numbers";&lt;br&gt; $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);&lt;br&gt; $r = mysql_fetch_row($result);&lt;br&gt; $numrows = $r[0];&lt;br&gt; // number of rows to show per page&lt;br&gt; $rowsperpage = 10;&lt;br&gt; // find out total pages $totalpages = ceil($numrows / $rowsperpage);&lt;br&gt; // get the current page or set a default&lt;br&gt; if (isset($_GET['currentpage']) &amp;&amp; is_numeric($_GET['currentpage'])) {&lt;br&gt; // cast var as int&lt;br&gt; $currentpage = (int) $_GET['currentpage'];&lt;br&gt; } else {&lt;br&gt; // default page num&lt;br&gt; $currentpage = 1;&lt;br&gt; } // end if&lt;br&gt; // if current page is greater than total pages...&lt;br&gt; if ($currentpage &gt; $totalpages) {&lt;br&gt; // set current page to last page&lt;br&gt; $currentpage = $totalpages;&lt;br&gt; } // end if&lt;br&gt; // if current page is less than first page...&lt;br&gt; if ($currentpage &lt; 1) {&lt;br&gt; // set current page to first page&lt;br&gt; $currentpage = 1;&lt;br&gt; } // end if&lt;br&gt; // the offset of the list, based on current page &lt;br&gt; $offset = ($currentpage - 1) * $rowsperpage;&lt;br&gt; // get the info from the db &lt;br&gt; $sql = "SELECT id, number FROM numbers LIMIT $offset, $rowsperpage";&lt;br&gt; $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);&lt;br&gt; // while there are rows to be fetched...&lt;br&gt; while ($list = mysql_fetch_assoc($result)) {&lt;br&gt; // echo data&lt;br&gt; echo $list['id'] . " : " . $list['number'] . "&lt;br /&gt;";&lt;br&gt; } // end while /****** build the pagination links ******/&lt;br&gt; // range of num links to show&lt;br&gt; $range = 3;&lt;br&gt; // if not on page 1, don't show back links&lt;br&gt; if ($currentpage &gt; 1) {&lt;br&gt; // show &lt;&lt; link to go back to page 1&lt;br&gt; echo " &lt;a href='{$_SERVER['PHP_SELF']}?currentpage=1'&gt;&lt;&lt;&lt;/a&gt; ";&lt;br&gt; // get previous page num&lt;br&gt; $prevpage = $currentpage - 1;&lt;br&gt; // show &lt; link to go back to 1 page&lt;br&gt; echo " &lt;a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'&gt;&lt;&lt;/a&gt; ";&lt;br&gt; } // end if &lt;br&gt; // loop to show links to range of pages around current page&lt;br&gt; for ($x = ($currentpage - $range); $x &lt; (($currentpage + $range) + 1); $x++) {&lt;br&gt; // if it's a valid page number...&lt;br&gt; if (($x &gt; 0) &amp;&amp; ($x &lt;= $totalpages)) {&lt;br&gt; // if we're on current page...&lt;br&gt; if ($x == $currentpage) {&lt;br&gt; // 'highlight' it but don't make a link&lt;br&gt; echo " [&lt;b&gt;$x&lt;/b&gt;] ";&lt;br&gt; // if not current page...&lt;br&gt; } else {&lt;br&gt; // make it a link&lt;br&gt; echo " &lt;a href='{$_SERVER['PHP_SELF']}?currentpage=$x'&gt;$x&lt;/a&gt; ";&lt;br&gt; } // end else&lt;br&gt; } // end if &lt;br&gt; } // end for&lt;br&gt; // if not on last page, show forward and last page links &lt;br&gt; if ($currentpage != $totalpages) {&lt;br&gt; // get next page&lt;br&gt; $nextpage = $currentpage + 1;&lt;br&gt; // echo forward link for next page &lt;br&gt; echo " &lt;a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'&gt;&gt;&lt;/a&gt; ";&lt;br&gt; // echo forward link for lastpage echo " &lt;a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'&gt;&gt;&gt;&lt;/a&gt; ";&lt;br&gt; } // end if&lt;br&gt; /****** end build pagination links ******/&lt;br&gt; ?&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload