Dieser Artikel stellt hauptsächlich die PHP-Back-End-Methode zur Realisierung des Paging-Index-Generierungscodes von Webseiten vor. Jetzt kann ich ihn mit Ihnen teilen
Das Paging von Webseiten wirkt sich direkt auf das Benutzererlebnis aus. Es gibt viele Methoden mit ähnlichen Funktionen. Der Hauptvorteil der Methode, die ich hier geschrieben habe, besteht darin, dass das vordere und hintere Ende getrennt sind und Sie die Länge und Anzahl der Paging-Zeilen selbst definieren können
Testlegende:
Rendering:
Implementierungscode:
/** * * @param $page 页码(1至正无穷) * @param $num 数据中多上行为一页 * @param $rows 数据的总行数 * @param $length 下标的最大长度 * @return array */ public function PageDate($page, $num , $rows , $length){ //初始化数据 $MaxPage = 0; //最大页码 $MinPage = 0; //最小页码 $ServerPage = 0; //下拉框中显示的页码 $PageData = array(); //全部的页码集合(用户下拉框选择) $PageShowData = array(); //用于显示下标的页码集合 $page = intval($page); if($rows == 0){ return $data = array( 'page' => $page, 'MaxPage' => $MaxPage, 'MinPage' => $MinPage, 'ServerPage' => $ServerPage, 'PageData' => $PageData, 'PageShowData' => $PageShowData ); } //得到最大分页和最小分页 $MaxPage = intval($rows / $num); $double = $rows % $num; if($double > 0.000000001) { $MaxPage += 1; } $MinPage = 1; $ServerPage = 1; //得到页码的全部项目 for($i = 1; $i <= $MaxPage; $i++ ){ $PageData[$i] = $i; } //对页码进行正确性改正 if($page < $MinPage){ $page = 1; } if($page > $MaxPage){ $page = 1; } /*生成显示的页码标签*/ //生成左侧的代码快 if($page == $MinPage){ $PageShowData[1] = $page; } if($page > $MinPage){ $PageShowData[1] = $MinPage; // $PageShowData[2] = $page - 1; // << $PageShowData[2] = '<<'; // << if($page -2 > $MinPage ){ $PageShowData[3] = $page - 2; $PageShowData[4] = $page - 1; }elseif($page -2 == $MinPage){ $PageShowData[3] = $page - 1; } //确定选中的页码代码快 $PageShowData[count($PageShowData) + 1] = $page; } $COUNT = count($PageShowData) + 1; //生成右侧的代码块 if($page == $MaxPage){ return $data = array( 'page' => $page, 'MaxPage' => $MaxPage, 'MinPage' => $MinPage, 'ServerPage' => $ServerPage, 'PageData' => $PageData, 'PageShowData' => $PageShowData ); } if($page < $MaxPage) { if($MaxPage - $page >= 2){ $j = 1; for($i = $COUNT; $i <= $length ; $i++){ $PageShowData[$i] = $page + $j; $j ++; if($PageShowData[$i] == $MaxPage -1){ break; } } } $COUNT = count($PageShowData) + 1; // $PageShowData[$COUNT] = $page + 1; //>> $PageShowData[$COUNT] = '>>'; $PageShowData[$COUNT + 1] = $MaxPage; //得到选中的参数 $ServerPage = $PageShowData[$COUNT-1] + 1; if($ServerPage > $MaxPage){ $ServerPage = 1; } return $data = array( 'page' => $page, 'MaxPage' => $MaxPage, 'MinPage' => $MinPage, 'ServerPage' => $ServerPage, 'PageData' => $PageData, 'PageShowData' => $PageShowData ); } }
Das Obige ist der gesamte Inhalt des Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!
Verwandte Empfehlungen:
Informationen zum Implementieren benutzerdefinierter Seitenstile in thinkPHP3.2
Verwenden Sie ThinkPHP, um Miniaturansichten zu generieren und Anzeigen
Über die Methode der Stapellöschung von thinkPHP
Das obige ist der detaillierte Inhalt vonPHP-Backend-Methode zur Implementierung von Paging-Index-Generierungscode für Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!