PHP Pagination-return to current page after editing record

I have added pagination code and it works fine. However, I am wondering how to change the pagination code so that after editing a record on pg 5 and pressing “save” I am returned to the current page (pg 5) rather than to page 1. I’ve searched on how to do this but can’t seem to find an answer.

Thanks.

cant you hold the page number in a $var and then on save return to the

url$var

yep like Noodles said,

[ul][li]on save store the current page [/li]
[li]when saved redirect to the stored page number[/li][/ul]

I’m sorry, I’m very new to PHP. How do I find where the current page variable is stored? Would this be in the pagination.php document?

can show your pagination code? i will be happy to help then

Thank you. I have posted the pagination code below. I’m not sure what variable lists the current page. I thought it might be ‘page’ but I’ve tried that in my menu key as:
header(“Location: index.php?page=&menukey=6”);
and it didn’t work. Unless I have something wrong there. Like I said, I’m completely new at this.

Thanks again.

[php]

<?php class PS_Pagination { var $php_self; var $rows_per_page = 14; //Number of records to display per page var $total_rows = 0; //Total number of rows returned by the query var $links_per_page = 5; //Number of links to display per page var $append = ""; //Paremeters to append to pagination links var $sql = ""; var $debug = false; var $conn = false; var $page = 1; var $max_pages = 0; var $offset = 0; /** * Constructor * * @param resource $connection Mysql connection link * @param string $sql SQL query to paginate. Example : SELECT * FROM users * @param integer $rows_per_page Number of records to display per page. Defaults to 10 * @param integer $links_per_page Number of links to display per page. Defaults to 5 * @param string $append Parameters to be appended to pagination links */ function PS_Pagination($connection, $sql, $rows_per_page = 14, $links_per_page = 5, $append = "") { $this->conn = $connection; $this->sql = $sql; $this->rows_per_page = (int)$rows_per_page; if (intval($links_per_page ) > 0) { $this->links_per_page = (int)$links_per_page; } else { $this->links_per_page = 5; } $this->append = $append; $this->php_self = htmlspecialchars($_SERVER['PHP_SELF'] ); if (isset($_GET['page'] )) { $this->page = intval($_GET['page'] ); } } /** * Executes the SQL query and initializes internal variables * * @access public * @return resource */ function paginate() { //Check for valid mysql connection if (! $this->conn || ! is_resource($this->conn )) { if ($this->debug) echo "MySQL connection missing
"; return false; } //Find total number of rows $all_rs = @mysql_query($this->sql ); if (! $all_rs) { if ($this->debug) echo "SQL query failed. Check your query.

Error Returned: " . mysql_error(); return false; } $this->total_rows = mysql_num_rows($all_rs ); @mysql_close($all_rs ); //Return FALSE if no rows found if ($this->total_rows == 0) { if ($this->debug) echo "Query returned zero rows."; return FALSE; } //Max number of pages $this->max_pages = ceil($this->total_rows / $this->rows_per_page ); if ($this->links_per_page > $this->max_pages) { $this->links_per_page = $this->max_pages; } //Check the page value just in case someone is trying to input an aribitrary value if ($this->page > $this->max_pages || $this->page <= 0) { $this->page = 1; } //Calculate Offset $this->offset = $this->rows_per_page * ($this->page - 1); //Fetch the required result set $rs = @mysql_query($this->sql . " LIMIT {$this->offset}, {$this->rows_per_page}" ); if (! $rs) { if ($this->debug) echo "Pagination query failed. Check your query.

Error Returned: " . mysql_error(); return false; } return $rs; } /** * Display the link to the first page * * @access public * @param string $tag Text string to be displayed as the link. Defaults to 'First' * @return string */ function renderFirst($tag = 'First') { if ($this->total_rows == 0) return FALSE; if ($this->page == 1) { return "$tag "; } else { return '' . $tag . ' '; } } /** * Display the link to the last page * * @access public * @param string $tag Text string to be displayed as the link. Defaults to 'Last' * @return string */ function renderLast($tag = 'Last') { if ($this->total_rows == 0) return FALSE; if ($this->page == $this->max_pages) { return $tag; } else { return ' ' . $tag . ''; } } /** * Display the next link * * @access public * @param string $tag Text string to be displayed as the link. Defaults to '>>' * @return string */ function renderNext($tag = '>>') { if ($this->total_rows == 0) return FALSE; if ($this->page < $this->max_pages) { return '' . $tag . ''; } else { return $tag; } } /** * Display the previous link * * @access public * @param string $tag Text string to be displayed as the link. Defaults to '<total_rows == 0) return FALSE; if ($this->page > 1) { return ' ' . $tag . ''; } else { return " $tag"; } } /** * Display the page links * * @access public * @return string */ function renderNav($prefix = '', $suffix = '') { if ($this->total_rows == 0) return FALSE; $batch = ceil($this->page / $this->links_per_page ); $end = $batch * $this->links_per_page; if ($end == $this->page) { //$end = $end + $this->links_per_page - 1; //$end = $end + ceil($this->links_per_page/2); } if ($end > $this->max_pages) { $end = $this->max_pages; } $start = $end - $this->links_per_page + 1; $links = ''; for($i = $start; $i <= $end; $i ++) { if ($i == $this->page) { $links .= $prefix . " $i " . $suffix; } else { $links .= ' ' . $prefix . '' . $i . '' . $suffix . ' '; } } return $links; } /** * Display full pagination navigation * * @access public * @return string */ function renderFullNav() { return $this->renderFirst() . ' ' . $this->renderPrev() . ' ' . $this->renderNav() . ' ' . $this->renderNext() . ' ' . $this->renderLast(); } /** * Set debug mode * * @access public * @param bool $debug Set to TRUE to enable debug messages * @return void */ function setDebug($debug) { $this->debug = $debug; } } ?>

[/php]

atually never mind all u need to di is get the iinteger number from the current page using GET[‘page’] or REQUEST[‘page’] then store it on a session or on a variable

I’m sorry, I’m not following you. So I don’t store the current page variable with the header(“location: index.php?menukey=6”); ?

for example on page 5 where you want to make your edit in the browser bar you should see an url like this

http://wilson.dev/Projects_Works/pagination.php?page=5

to get 5 on a variable you can do it like this
[php]
//$var will be = to the current page number
$var = $_GET[‘page’];
[/php]

good luck

Sponsor our Newsletter | Privacy Policy | Terms of Service