在我的代码中我喜欢这个如何进行分页............
////////这是我的分页课///////
class simple_pagination
{
function check_integer($which) {
if(isset($_REQUEST[$which])){
if (intval($_REQUEST[$which])>0) {
//check the paging variable was set or not,
//if yes then return its number:
//for example: ?page=5, then it will return 5 (integer)
return intval($_REQUEST[$which]);
} else {
return false;
}
}
return false;
}//end of check_integer()
function get_current_page() {
if(($var=$this->check_integer('page'))) {
//return value of 'page', in support to above method
return $var;
} else {
//return 1, if it wasnt set before, page=1
return 1;
}
}//end of method get_current_page()
function doPages($page_size, $thepage, $query_string, $total=0) {
//echo $query_string;exit;
//per page count
$index_limit = 10;
//set the query string to blank, then later attach it with $query_string
$query='';
if(strlen($query_string)>0){
$query = "&".$query_string;
}
//get the current page number example: 3, 4 etc: see above method description
$current = $this->get_current_page();
$total_pages=ceil($total/$page_size);
//echo $total;exit;
$start=max($current-intval($index_limit/2), 1);
$end=$start+$index_limit-1;
echo '<div class="paging">';
if($current==1) {
echo '<span class="prn"> First <<</span> ';
} else {
$i = $current-1;
echo " <a href='$thepage?currentpage=1'>First </a> ";
echo '<a href="'.$thepage.'?page='.$i.$query.'" class="prn" rel="nofollow" title="go to page '.$i.'"><< </a> ';
echo '<span class="prn">...</span> ';
}
if($start > 1) {
$i = 1;
echo '<a href="'.$thepage.'?page='.$i.$query.'" title="go to page '.$i.'">'.$i.'</a> ';
}
for ($i = $start; $i <= $end && $i <= $total_pages; $i++){
if($i==$current) {
echo '<span>'.$i.'</span> ';
} else {
echo '<a href="'.$thepage.'?page='.$i.$query.'" title="go to page '.$i.'">'.$i.'</a> ';
}
}
if($total_pages > $end){
$i = $total_pages;
echo '<a href="'.$thepage.'?page='.$i.$query.'" title="go to page '.$i.'">'.$i.'</a> ';
}
if($current < $total_pages) {
$i = $current+1;
echo '<span class="prn">...</span> ';
echo '<a href="'.$thepage.'?page='.$i.$query.'" class="prn" rel="nofollow" title="go to page '.$i.'"> >> </a> ';
echo " <a href='$thepage?page=$total_pages'>Last </a> ";
} else {
echo '<span class="prn"> Last >></span> ';
}
//if nothing passed to method or zero, then dont print result, else print the total count below:
if ($total != 0){
//prints the total result count just below the paging
echo '<p id="total_count">(total '.$total.' records)</p></div>';
}
}//end of method doPages()
////// wifi.php /////////
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">Show
<select name="results_page" id= "results_page" onChange="this.form.submit();">
<option value="5" NO >5</option>
<option value="10" NO >10</option>
<option value="20" SELECTED >20</option>
<option value="50" NO >50</option>
</select>
results per page
</form>
<?php
$pagination = new simple_pagination();
$offset = 5;
$array_old = $objquote->viewdata();
$total_records = count($array_old);
$pagination->doPages($offset,$_SERVER['PHP_SELF'], '', $total_records); ?>
我写的如上。让这个分页工作的下一步是什么? //////图片/////
答案 0 :(得分:1)
如果要从数据库获取结果/行,可以使用 LIMIT 从数据库中选择行数。
LIMIT子句可用于约束返回的行数 通过SELECT语句
例如:
SELECT * FROM `your_table` LIMIT 0, 10
因此,您可以在表单提交后在SQL查询中设置LIMIT,并将结果循环到diplay。
否则,有一些用于分页的PHP类/教程:
修改强>
在发布您的相关代码后,我们可以看到您在$index_limit = 10
课程中对doPages
进行了严格编码。您还需要将$index_limit
传递给doPages
类。