2012-11-22 128 views
0

我有一个分页方法正在工作到一个点。如果我浏览超过2页,或使用我的上一个或下一个按钮,我的当前页和总页数变量附加到URL,从而导致这样的事情:分页问题

http://localhost/project/profile.php?s=0&p=2&s=1&p=2&select_genre=Sci-Fi&select_length=1-25&query=Submit 

注意额外的S和P分配

$ s定义起始页面 $ p定义总页数

有没有办法阻止$ s和$ p的值附加到URL?

我敢肯定,问题是我如何进行跨页面的GET值在下面的网址,我不知道如何纠正它:

if($pages > 1) 
{ 
    echo '<br /><p>'; //Add some extra space 

    $current_page = ($start/$display) + 1; 

    //If it's not the first page, make a PREV button 

    if($current_page != 1) 
    { 
     echo '<a href=profile.php?s=' . ($start - $display) . '&p=' . $pages . '&' . http_build_query($_GET) . '"> Previous</a> '; 
    } 

    //Make all the numbered pages: 

    for ($i = 1; $i <= $pages; $i++) 
    { 
     if($i != $current_page) 
     { 
      echo '<a href="profile.php?s=' . (($display * ($i - 1))) . '&p=' . $pages . '&' . http_build_query($_GET) . '">' . $i . '</a>'; 
     } 
     else { 
       echo $i . ' '; 
      } 
    }//END FOR LOOP 

    // If it's not the last page, make a Next button: 

    if ($current_page != $pages) 
    { 
     echo '<a href="profile.php?s=' . ($start + $display) . '&p=' . $pages . '&' . http_build_query($_GET) . '"> Next</a>'; 
    } 

    echo '</p>'; 
} 

谢谢!

+0

是的,改变你的代码。 – AndreKR

回答

2

那么,如果$ _GET包含此S或P你,你会最终了一倍那些:

$clean = $_GET; 
unset($clean['p']);  
unset($clean['s']); 
echo '/someurl?' . http_build_query($clean); 

类似的东西应该工作

+0

谢谢!这完美的作品! – V1GG3N