php - Codeigniter 分页不适用于 jquery 选项卡
问题描述
我正在学习 codeigniter 框架,但我遇到了一个问题。我已经动态显示了 mysql 表中的数据,并且我有多个数据类别。所以我使用 ajax cdn 选项卡按类别显示数据。
我想为每个类别创建动态分页,但它会在每个类别分页中加载默认页面。
这是我的带有分页配置的视图文件
<div class="col-md-12 Tabbing">
<h2>Portfolio</h2>
<ul class="nav TabbingNav">
<?php if (!empty($categoryList)) {
foreach ($categoryList as $key => $category) {?>
<li class="TabbingLi"><a data-toggle="tab" href="#category<?php echo $category->id; ?>" id="li_category<?php echo $category->id; ?>" class="TabbingA"> <?php echo ($category->id == 1) ? '<i class="fa fa-eye"></i>' : '' ?><?php echo $category->title; ?></a></li>
<?php }
}?>
</ul>
<div class="tab-content clearfix">
<?php foreach ($categoryList as $key => $category) {
?>
<div id="category<?php echo $category->id ?>" class="tab-pane fade">
<div class="CustomeRow">
<?php $i = 1;
$this->load->model('Portfolio_Model');
$config = array();
$config['full_tag_open'] = "<ul class='pagination'>";
$config['full_tag_close'] = '</ul>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['prev_link'] = '<i class="fa fa-angle-left"></i>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '<i class="fa fa-angle-right"></i>';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config["base_url"] = base_url() . "portfolio";
$config["total_rows"] = $this->Portfolio_Model->get_count($category->id);
$config["per_page"] = 9;
$config["uri_segment"] = 2;
$this->pagination->initialize($config);
$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
$links = $this->pagination->create_links();
$portfolioByCategory = $this->Portfolio_Model->getPortfolios($config["per_page"], $page, $category->id);
if (!empty($portfolioByCategory)) {
foreach ($portfolioByCategory as $key => $portfolio) {
?>
<div class="col-md-4" data-toggle="modal" data-target="#portfolio<?php echo $portfolio->id . "_category" . $category->id ?>">
<div class="PortfolioBox">
<img src="<?php echo base_url() . "assets/uploads/" . $portfolio->image ?>" alt="" class="img-fluid">
<i class="fa fa-eye"></i>
</div>
<a data-toggle="modal" data-target="#portfolio<?php echo $portfolio->id . "_category" . $category->id ?>" class="Title"><?php echo $portfolio->title ?></a>
</div>
<div class="modal fade scrollbar-dusty-grass square thin" id="portfolio<?php echo $portfolio->id . "_category" . $category->id ?>">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><i class="fa fa-close"></i></button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7">
<img src="<?php echo base_url() . "assets/uploads/" . $portfolio->image ?>" alt="" class="img-fluid">
</div>
<div class="col-md-5 d-flex align-items-start justify-content-start flex-column">
<div class="SecOne">
<h2><?php echo $portfolio->title ?></h2>
<ul class="d-flex align-items-start justify-content-start flex-column">
<li>Skill : <?php echo $portfolio->skill ?></li>
</ul>
</div>
<div class="SecTwo">
<h2>About <?php echo $portfolio->title ?></h2>
<p><?php echo $portfolio->description ?></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
if ($i % 3 == 0) {
echo "</div><div class='CustomeRow'>";
}
$i++;}?>
<p><?php echo $links; ?></p>
<?php }?>
</div>
</div>
<?php }?>
</div>
</div>
这是我的 routes.php
$route['portfolio/(:num)'] = 'portfolio';
我想将 category_id 作为获取参数传递,但是当我使用?category=$category->id
第二页更改 base_url 时,会采用这样的 url:
localhost/project/portfolio?category=1/9
它只是刷新页面,第二页的数据没有显示。对于每个类别,我的网址是:
localhost/project/portfolio#category1(2,3,4,5,6,7)
请有人帮助我实现这种动态分页。
解决方案
推荐阅读
- ruby-on-rails - 在帮助文件中设计方法?
- android - 如何使用 RxJava 为 Retrofit API 创建一个包装器
- mysql - Nodejs在执行嵌入其中的mysql查询之前循环迭代
- python - 在这种情况下,如何为特定模式添加 argparser 子命令?
- azure-data-explorer - 如何在 Azure 数据资源管理器中将自定义键/值对字符串解析为 JSON 对象?
- mysql - 如何加快 mysql docker 容器的测试速度?
- cucumber-java - 黄瓜选项 dryrun=true 正在跳过场景
- ios - 在 iOS 的 Imebra 中加载服务器 URL dicom 文件?
- java - 使用自定义比较器创建 SortedMap
- html - 将模态放置在所有分辨率的底部