Home.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. defined('BASEPATH') or exit( 'No direct script access allowed' );
  3. class Home extends CI_Controller
  4. {
  5. public function __construct()
  6. {
  7. parent::__construct();
  8. }
  9. public function index($cid = 0, $page = "null")
  10. {
  11. if( !defined("Web_On") || Web_On == 0 )
  12. {
  13. exit( "Hello World" );
  14. }
  15. $this->load->database();
  16. $cid = (int) $cid;
  17. if( $page == "null" )
  18. {
  19. $page = $cid;
  20. }
  21. else
  22. {
  23. $page = (int) $page;
  24. }
  25. if( $page == 0 )
  26. {
  27. $page = 1;
  28. }
  29. $where_str = (0 < $cid ? "where cid=" . $cid : "");
  30. $per_page = 20;
  31. $sel_sql = "select * from " . CS_SqlPrefix . "video " . $where_str . " order by id desc";
  32. $tol_sql = "select count(*) as count from " . CS_SqlPrefix . "video " . $where_str;
  33. $total_res = $this->db->query($tol_sql)->row();
  34. $total = $total_res->count;
  35. $totalPages = (ceil($total / $per_page) ? ceil($total / $per_page) : 1);
  36. $page = ($totalPages < $page ? $totalPages : $page);
  37. if( $total < $per_page )
  38. {
  39. $per_page = $total;
  40. }
  41. $sel_sql .= " limit " . $per_page * ($page - 1) . "," . $per_page;
  42. $query = $this->db->query($sel_sql)->result();
  43. $_pageNum = 5;
  44. $pages = ($page < $totalPages ? $totalPages : $page);
  45. $pages = ($totalPages < $page ? $page : $totalPages);
  46. $_start = $page - floor($_pageNum / 2);
  47. $_start = ($_start < 1 ? 1 : $_start);
  48. $_end = $page + floor($_pageNum / 2);
  49. $_end = ($pages < $_end ? $pages : $_end);
  50. $_curPageNum = $_end - $_start + 1;
  51. if( $_curPageNum < $_pageNum && 1 < $_start )
  52. {
  53. $_start = $_start - ($_pageNum - $_curPageNum);
  54. $_start = ($_start < 1 ? 1 : $_start);
  55. $_curPageNum = $_end - $_start + 1;
  56. }
  57. if( $_curPageNum < $_pageNum && $_end < $pages )
  58. {
  59. $_end = $_end + $_pageNum - $_curPageNum;
  60. $_end = ($pages < $_end ? $pages : $_end);
  61. }
  62. $data["cid"] = $cid;
  63. $data["page"] = $page;
  64. $data["pagestart"] = $_start;
  65. $data["pageend"] = $_end;
  66. $data["pagejs"] = $totalPages;
  67. $data["pagenum"] = $total;
  68. $data["video"] = $query;
  69. $data["vlist"] = $this->db->query("select * from " . CS_SqlPrefix . "class order by id asc limit 6")->result();
  70. $this->load->view("home.html", $data);
  71. }
  72. }