需要更新的内容
-
你在“联赛成绩分页”中做的计算是错误的。我将结果的总数传递为5(静态和查询返回的结果非常多),并且正在生成分页。
-
你没有在你的模态中做任何分页代码。
-
-
var week_id=1;由我自己添加。您需要通过任何方法将其传递给控制器以使其成为动态的
更新的代码
<script>
var league_id = "1";
var week_id = 1;
function load_league_week_scores(week, league, page) {
$.ajax({
url:"<?php echo base_url();?>leagues/league_scores_pagination/"+week+"/"+league+"/"+page,
method: "GET",
dataType: "json",
success: function(data)
{
$('#week_table').html(data.week_table);
$('#pagination_link').html(data.pagination_link);
}
})
}
$(document).ready(function () {
load_league_week_scores(week_id,league_id,1);
});
$(document).on("click", ".pagination li a", function(event) {
event.preventDefault();
var page = $(this).data("ci-pagination-page");
load_league_week_scores(week_id, league_id, page);
})
</script>
function league_scores_pagination($week, $league, $page)
{
$per_page = 2;
$this->load->model('Leagues_model', 'leagues_model');
$this->load->library('pagination');
$this->leagues_model->setLeagueId($league);
$num_weeks = $this->leagues_model->GetGamesCount();
$total_rows = 5;//$num_weeks * 5;
//https://www.youtube.com/watch?v=nfDMTzmGi9Q
$config = array();
$config['base_url'] = "#";
$config["total_rows"] = $total_rows;
$config["per_page"] = $per_page;
$config["uri_segment"] = 4; // I've made changes to this nothing has fixed it.
$config['full_tag_open'] = '<div class="paging text-center"><nav><ul class="pagination">';
$config['full_tag_close'] = '</ul></nav></div>';
$config['num_tag_open'] = '<li class="page-item"><span class="page-link">';
$config['num_tag_close'] = '</span></li>';
$config['cur_tag_open'] = '<li class="page-item active"><span class="page-link">';
$config['cur_tag_close'] = '<span class="sr-only">(current)</span></span></li>';
$config['next_tag_open'] = '<li class="page-item"><span class="page-link">';
$config['next_tag_close'] = '<span aria-hidden="true"></span></span></li>';
$config['prev_tag_open'] = '<li class="page-item"><span class="page-link">';
$config['prev_tag_close'] = '</span></li>';
$config['first_tag_open'] = '<li class="page-item"><span class="page-link">';
$config['first_tag_close'] = '</span></li>';
$config['last_tag_open'] = '<li class="page-item"><span class="page-link">';
$config['last_tag_close'] = '</span></li>';
$config['page_query_string'] = FALSE;
$config['use_page_numbers'] = TRUE;
// $config["links"] = $num_weeks;
// $config["num_links"] = $num_weeks;
$this->pagination->initialize($config);
$output = array(
'pagination_link' => $this->pagination->create_links(),
'week_table' => $this->leagues_model->fetch_details($week,$page,$total_rows,$per_page)
);
echo json_encode($output);
}
public function fetch_details($week, $page, $total_rows, $per_page = 10)
{
$totalpages = ceil($total_rows / $per_page);
if (isset($page) && is_numeric($page)) {
$currentpage = (int) $page;
} else {
$currentpage = 1;
}
if ($currentpage > $totalpages) {
$currentpage = $totalpages;
}
if ($currentpage < 1) {
$currentpage = 1;
}
$offset = ($currentpage - 1) * $per_page;
$output = "";
$sql = "SELECT week, home_team_id, away_team_id, my_score, their_score, a.team_name as home_team, b.team_name as away_team
FROM nfl_user_matchups nm
LEFT JOIN user_teams a ON nm.home_team_id = a.user_teams_id
LEFT JOIN user_teams b ON nm.away_team_id = b.user_teams_id
WHERE nm.week = ? AND nm.leagues_id = ?
GROUP BY Greatest(home_team_id, away_team_id), Least(home_team_id, away_team_id) LIMIT ?, ?";
$query = $this->db->query($sql, array($week, $this->league_id, $offset, $per_page));
$output .= '<table class="table table-bordered">';
foreach ($query->result() as $row) {
if($row->my_score > $row->their_score) {
$home_bold = 'style="font-weight: bold;"';
$away_bold = '';
} else {
$away_bold = 'style="font-weight: bold;"';
$home_bold = '';
}
$output .= '<tr><td ' . $home_bold . '>' . $row->home_team . '</td>';
$output .= '<td>' . $row->my_score . '-' . $row->their_score . '</td>';
$output .= '<td ' . $away_bold . '>' . $row->away_team . '</td></tr>';
}
$output .= '</table>';
return $output;
}
http://baseurl_here/leagues/league_scores_pagination/1/1/4