2016-10-11 6 views
1

Я хочу разбивать комментарии по открытой статье - index.php?article_id=1, и теперь я хочу перенаправить страницу на index.php?article_id=1&page=2. Я знаю, что есть способ получить текущий url с параметрами получения и просто добавить страницу &, но каждый раз, когда я нажимаю кнопку страницы, он генерирует новый код: index.php?article_id=1&page=2&page=2&page=2 ...PHP open article comments pagination

У меня есть это код, он работает только с 1 ПОЛУЧИТЬ парам:

if($page == $this->maxpages AND $page != 1 OR $page != $this->maxpages AND $page > 0 AND $page <= $this->maxpages AND $page != 1) { 
     $controls .= "<a href='".basename(strtok($_SERVER["REQUEST_URI"],'?'))."?p=".($page-1)."'><-- Back </a>"; 
    } 

    if($this->maxpages > 1 AND $page > 0 AND $page != $this->maxpages AND $page < $this->maxpages) { 
     $controls .= "<a href='".basename(strtok($_SERVER["REQUEST_URI"],'?'))."?p=".($page+1)."'> Next --></a>"; 
    } 

    if($controls == "" AND $this->maxpages != 1) { 
     $controls .= "<a href='".basename(strtok($_SERVER["REQUEST_URI"],'?'))."?p=1'>On the first page</a>"; 
    } 

код, который дублируется ГЭТ:

 if($page == $this->maxpages AND $page != 1 OR $page != $this->maxpages AND $page > 0 AND $page <= $this->maxpages AND $page != 1) { 
     $controls .= "<a href='".basename($_SERVER["REQUEST_URI"])."&p=".($page-1)."'><-- Back </a>"; 
    } 

    if($this->maxpages > 1 AND $page > 0 AND $page != $this->maxpages AND $page < $this->maxpages) { 
     $controls .= "<a href='".basename($_SERVER["REQUEST_URI"])."&p=".($page+1)."'> Next --></a>"; 
    } 

    if($controls == "" AND $this->maxpages != 1) { 
     $controls .= "<a href='".basename($_SERVER["REQUEST_URI"])."&p=1'>First page</a>"; 
    } 
+0

ссылки, которые вы прикрепляются к $ управления работает отлично, где находится код, который вы написали, чтобы получить 'index.php? Article_id = 1 & страница = 2 & страница = 2 & страница = 2'? –

+0

То же самое, но без strtok –

+1

Вы должны добавить код, который вы пытаетесь скачать. –

ответ

0

Если вы используете $_SERVER['REQUEST_URI'] вы получите весь запрос. Вы должны создать новый URL-адрес из имени файла и добавить все параметры, которые вам нужны, изменились или совпали.

$controls .= "<a href='".basename($_SERVER["SCRIPT_NAME"])."?article_id=" . $articleid . "&p=".($page+1)."'> Next --></a>";