Mega Code Archive

 
Categories / Php / Site Navigation
 

Page numbers

<?php // config------------------------------------- $host = "localhost"; //your database host $user = "username"; // your database user name $pass = "password"; // your database password $db = "database_name"; // your database name $filename = "your_file_name.php"; // name of this file $option = array (5, 10, 25, 50, 100, 200); $default = 25; // default number of records per page $action = $_SERVER['PHP_SELF']; // if this doesn't work, enter the filename $query = "SELECT title, url FROM table_name ORDER BY title"; // database query. Enter your query here // end config--------------------------------- $opt_cnt = count ($option); $go = $_GET['go']; // paranoid if ($go == "") { $go = $default; } elseif (!in_array ($go, $option)) { $go = $default; } elseif (!is_numeric ($go)) { $go = $default; } $nol = $go; $limit = "0, $nol"; $count = 1; echo "<form name=\"form1\" id=\"form1\" method=\"get\" action=\"$action\">\r\n"; echo "<select name=\"go\" id=\"go\">\r\n"; for ($i = 0; $i <= $opt_cnt; $i ++) { if ($option[$i] == $go) { echo "<option value=\"".$option[$i]."\" selected=\"selected\">".$option[$i]."</option>\r\n"; } else { echo "<option value=\"".$option[$i]."\">".$option[$i]."</option>\r\n"; } } echo "</select>\r\n"; echo "<input type=\"submit\" name=\"Submit\" id=\"Submit\" value=\"Go\" />\r\n"; echo "</form>\r\n"; $connection = mysql_connect ($host, $user, $pass) or die ("Unable to connect"); mysql_select_db ($db) or die ("Unable to select database $db"); // control query------------------------------ /* this query checks how many records you have in your table. I created this query so we could be able to check if user is trying to append number larger than the number of records to the query string.*/ $off_sql = mysql_query ("$query") or die ("Error in query: $off_sql".mysql_error()); $off_pag = ceil (mysql_num_rows($off_sql) / $nol); //-------------------------------------------- $off = $_GET['offset']; //paranoid if (get_magic_quotes_gpc() == 0) { $off = addslashes ($off); } if (!is_numeric ($off)) { $off = 1; } // this checks if user is trying to put something stupid in query string if ($off > $off_pag) { $off = 1; } if ($off == "1") { $limit = "0, $nol"; } elseif ($off <> "") { for ($i = 0; $i <= ($off - 1) * $nol; $i ++) { $limit = "$i, $nol"; $count = $i + 1; } } // Query to extract records from database. $sql = mysql_query ("$query LIMIT $limit") or die ("Error in query: $sql".mysql_error()); while ($row = mysql_fetch_object($sql)) { // EDIT ME. Edit the line below to match your own table. Just replace $row->url with $row->your_table_column echo "$count. <a href=\"$row->url\">$row->title</a><br />\r\n"; // this is example, you may enter here anything you like $count += 1; } echo "<br /><br />\r\n"; if ($off <> 1) { $prev = $off - 1; echo "[ < <a href=\"$filename?offset=$prev&amp;go=$go\">prev</a> ] \r\n"; } for ($i = 1; $i <= $off_pag; $i ++) { if ($i == $off) { echo "[<b> $i </b>] \r\n"; } else { echo "[ <a href=\"$filename?offset=$i&amp;go=$go\">$i</a> ] \r\n"; } } if ($off < $off_pag) { $next = $off + 1; echo "[ <a href=\"$filename?offset=$next&amp;go=$go\">next</a> &gt; ] \r\n"; } echo "<br /><br />\r\n"; echo "Page $off of $off_pag<br />\r\n"; ?>