2016-10-11 6 views
1

Ich möchte Kommentare auf einen geöffneten Artikel paginieren - index.php?article_id=1 und jetzt möchte ich die Seite auf index.php?article_id=1&page=2 umleiten. Ich weiß, dass es eine Methode gibt, um die aktuelle URL mit get params zu bekommen und nur die & Seite daran anzufügen, aber jedes Mal, wenn ich auf die Seitenschaltfläche klicke, erzeugt es einen neuen get wie folgt:PHP geöffnet Artikel Kommentare Paginierung

Ich habe dies Code, es funktioniert nur mit 1 get param:

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>"; 
    } 

Der Code, der die get dupliziert:

 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

Die Links, die Sie zu $ ​​befestigen Kontrollen funktionieren gut, wo der Code ist, dass Sie den 'index.php erhalten geschrieben? Article_id = 1 & page = 2 & page = 2 & page = 2'? –

+0

Das gleiche, aber ohne die strtok –

+1

Sie sollten den Code, den Sie versucht haben, zu der Frage hinzufügen. –

Antwort

0

Wenn Sie $_SERVER['REQUEST_URI'] Sie die ganze Anfrage erhalten. Sie müssen eine neue URL aus dem Dateinamen erstellen und jeden gewünschten Parameter hinzufügen, ändern oder den gleichen.

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