2010-07-28 3 views
0

у меня есть одна страница PHP с опцией пейджинговойPHP проблема подкачки

я использую follwoing SQL заявление для создания общего числа страниц

 $rowsPerPage=25; 
     $pageNum = 1; 
     if(isset($_GET['page'])) 
     { 
     $pageNum = $_GET['page']; 
     } 
     $offset = ($pageNum - 1) * $rowsPerPage; 

     $query = "SELECT COUNT(id) AS numrows FROM TableA" 
     $result = mysql_query($query) or die('Error, query failed'); 
     $row  = mysql_fetch_array($result, MYSQL_ASSOC); 
    $numrows = $row['numrows']; 
    $maxPage = ceil($numrows/$rowsPerPage); 

теперь я follwoing код для записи следующей/предыдущей страницы ссылаются

 $page = $pageNum - 1; 
     $prev = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Prev]</a> "; 

     $page = $pageNum + 1; 
     $next = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Next]</a> "; 

моя проблема:

когда я передавать любые жала запроса с страницы л ike abc.php? m = 1 & page = 2

эта строка запроса будет недоступна, как только я нажму ссылку [Prev]/[Next].

я могу undersatnd проблему в

$prev = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Prev]</a> "; 

заявление

как я могу получить имя страницы плюс все строки запроса на месте $ я, как это только получать имя страницы.

Thanks

+1

Где объявляется $ self? – fabrik

+0

См. Http://stackoverflow.com/questions/3336077 – Gumbo

ответ

2

Просто добавьте другие ссылки к ссылке.

Если вы не знаете, что они/может быть, вы могли бы попробовать что-то вроде этого:

$q = "?"; 
foreach($_GET as $k=>$v) { 
    if($k == "page") continue; 
    $q .= htmlentities($k) . "=" . htmlentities($v) . "&amp;"; 
} 

$page = $pageNum - 1; 
$prev = " <a href=\"$self${q}page=$page\" class=\"RedNorm\">[Prev]</a> "; 

$page = $pageNum + 1; 
$next = " <a href=\"$self${q}page=$page\" class=\"RedNorm\">[Next]</a> "; 

Это добавит все строки запроса переменных по ссылке, чтобы передать его на следующей странице ,

+0

приятное решение .... – air

0

Вы должны использовать $SELF вместо $self.