think php array元素位置,thinkphp中对数组元素进行分页显示

PHP模块代码:

class NewsAction extends Action{

public $page = ''; //分页,当前页数

function News(){

$list = M("News")->field('id,title')->where("status = 5")->findAll();

//分页

$list = $this->array_page($list);

//结束

$num = 0;

$URL = "http://www.baidu.com/";

$suffixName = '.html';

foreach($list as $key=>$val){

$num = $key + 1;

$str .= '  '.$num.").".$val['title']."
";

}

$str = preg_replace('/(.*),\s$/','\\1',$str);

$str .= "

".$this->page."
";

return $str;

}

//数组分页方法

/**

* array $array 数组

* integer $showCount 每页的记录数

*------------------------------

* return array 返回数组

*/

function array_page($array,$listRows = 12,$showCount = 4){

$p = C('VAR_PAGE');

$url = $_SERVER['REQUEST_URI']."/".$p."/";

$page = !empty($_GET[C('VAR_PAGE')])?$_GET[C('VAR_PAGE')]:1;

$upRow = $page-1;

$downRow = $page+1;

$linkPage = "";

$totalPage = (int)count($array);

$pagetotal = ceil($totalPage/$listRows); //总页数

if($page <= ceil(($showCount)/2)){

$minpg = 1;

$maxpg = $showCount+1;

if($maxpg >= $pagetotal) $maxpg = $pagetotal + 1;

}elseif($page > ceil(($showCount)/2) && $page < ($pagetotal - ceil($showCount/2))){

$minpg = $page - ceil(($showCount)/2) + 1;

$maxpg = $page + ceil(($showCount)/2) + 1;

if($maxpg >= $pagetotal) $maxpg = $pagetotal;

}elseif($page >=$pagetotal - ceil(($showCount)/2)){

$minpg = $pagetotal - ($showCount-1);

if($minpg == 1) $minpg = 2;

$maxpg = $pagetotal + 1;

}

$linkPage .= " ".$totalPage." 条记录 ".$page."/".$pagetotal." 页 ";

if($pagetotal == 1){

$linkPage .= " 1 ";

}else{

if($page > 1){

$linkPage .= "  第一页";

$linkPage .= "  上一页";

}

for($i = $minpg; $i < $maxpg; $i++){

if($page == $i){

$linkPage .= "  ". $i ."";

}else{

$linkPage .= "  $i";

}

}

if($page < $pagetotal){

$linkPage .= "  下一页";

$linkPage .= "  最后一页";

}

}

if($listRows < $totalPage) {

if($page <= 1 || empty($page)) {

$page = 0;

} else {

$page = intval($page) - 1;

}

$array = array_slice($array,$page*$listRows,$listRows,true);

}

$this->page = $linkPage;

if(1 == $pagetotal) $this->page = '';

return $array;

}

}

前台Html代码:

//分页跳转

function showpage(url){

var testDialog;

testDialog = dialog('正在加载中...');

$.get(url,null,function(data){

//$("#con").append(data);

testDialog.close();

$("#con").html(data);

});

}

//提示缓冲框

function dialog(msg){

var testDialog;

testDialog = art.dialog({

lock: false,

title:'',

id:'loaddialog',

content:''+msg+'',

width:220

});

return testDialog;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
thinkphp5,合并数组的方法thinkphp3.2有所不同。在thinkphp5,可以使用array_merge函数来合并数组。下面是一个示例代码: ``` //声明三个数组(N个同下) // $list是二维数组 $list['x1'] 表示从list数组取出x1数组 $x1 = $list['x1']; $x2 = $list['x2']; $x3 = $list['x3']; $result1 = array_merge($x1, $x2); //数组合并 (x1 x2) $result2 = array_merge($result1, $x3); //$result1 x3 //打印结果 echo "<pre>"; print_r($result2); echo "</pre>"; ``` 这段代码会将x1、x2和x3数组合并成一个新的数组$result2,并打印出合并后的结果。请注意,这里使用了array_merge函数来进行数组的合并操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [php 多个数组合并(在thinkphp5的控制器里写的)](https://blog.csdn.net/qq_43503385/article/details/105466326)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Thinkphp5.1 合并后的数组进行排序之后分页](https://blog.csdn.net/qq_30986969/article/details/124820054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [thinkphp 3.2框架视图模型 实例视图查询结果的二维数组合并操作示例](https://download.csdn.net/download/weixin_38615783/12927366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值