scorpious Posted February 15, 2009 Share Posted February 15, 2009 Hi All I have tryied the Basic Pagination which works great, however, when i have it set to use a $_SESSION the first link works ok, but, when I click on the Number 2 Link or above it shows nothing, list below is the code: <?php session_start(); $_SESSION['$Session'] = $_POST['name']; $table_name = $_SESSION['$Session']; ?> <html> <head> <title>Numbers</title> <style> table { font-size:1em; } table tr th{font: 80% Verdana, Geneva, Arial, Helvetica, sans-serif; background-color:#ddb; padding:0.2em 0.6em 0.2em 0.6em; } table tr td{font: 80% Verdana, Geneva, Arial, Helvetica, sans-serif; background-color:#eec; margin:0.3em; padding:0.3em; } a { color: #d6dadb; text-decoration: none; } </style> </head> <body> <?php // Print the Sessionname to screen to prove that session name is brought over echo "You Entered " .$table_name. " .<br><br>"; // database connection info // Include the Database information include('user.php'); $conn = mysql_connect("$host","$user","$password") or die(mysql_error()); $db = mysql_select_db("$dbname",$conn) or die(mysql_error()); // find out how many rows are in the table $sql = "SELECT COUNT(*) FROM $table_name"; // below is Line 40 for the error $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR); $r = mysql_fetch_row($result); $numrows = $r[0]; // 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, number FROM $table_name LIMIT $offset, $rowsperpage"; $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR); // while there are rows to be fetched... while ($list = mysql_fetch_assoc($result)) { // echo data echo $list['id'] . " : " . $list['number'] . "<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 ******/ ?> </body> </HTML> My input form is like this <?php session_start(); $_SESSION['Session'] = $_POST['name']; ?> <html> <body><form action="pagelist.php" method="post"> Name: <input type="text" name="name" /> <input type="submit" /> </form></body> </html> When run it show the first 1 to 10 within the database no problem. the error message within the error file is: PHP Fatal error: SQL in H:\Website Address\test\pagelist.php on line 40 I am running this on a test server at home, If I run the Pagination script without any changed it works great. How can I get the script to work with Session ID, or have I done it total wrong :-\ I have been searching for a answer all weekend, I started with a good head of hair, now I look like Homer Simpson I have used the script to with other tables and get the same result. Cheers for your advise and help (bold) Scorp Link to comment https://forums.phpfreaks.com/topic/145348-pagination-with-session-id-working-only-first-link/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.