控制器Zhaopin.php
<?php session_start(); class Zhaopin extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper(array(‘form‘, ‘url‘)); $this->load->model(‘zhaopin_model‘); //引入CI的分页类 $this->load->library(‘pagination‘); } //默认显示招聘列表页面,默认从第一天数据开始 public function index($start = 0) { //每页显示20条数据 $per_page = 20; //分段取出数据 $data[‘content‘] = $this->zhaopin_model->getzhaopin($id = NULL, $per_page, $start); //获得数据总条目 $count_all = $this->zhaopin_model->getrow(); //配置分页参数 $config[‘base_url‘] = base_url() . ‘index.php/zhaopin/index/‘; $config[‘total_rows‘] = $count_all; $config[‘per_page‘] = $per_page; //设置url参数是页数,不是默认的数据条数 //$config[‘use_page_numbers‘] = TRUE; $config[‘full_tag_open‘] = ‘<ul>‘; $config[‘full_tag_close‘] = ‘</ul>‘; $config[‘first_link‘] = ‘首页‘; $config[‘last_link‘] = ‘末页‘; $config[‘first_tag_open‘] = ‘<li>‘; $config[‘first_tag_close‘] = ‘</li>‘; $config[‘last_tag_open‘] = ‘<li>‘; $config[‘last_tag_close‘] = ‘</li>‘; $config[‘next_link‘] = ‘>‘; $config[‘next_tag_open‘] = ‘<li>‘; $config[‘next_tag_close‘] = ‘</li>‘; $config[‘prev_link‘] = ‘<‘; $config[‘prev_tag_open‘] = ‘<li>‘; $config[‘prev_tag_close‘] = ‘</li>‘; $config[‘num_tag_open‘] = ‘<li>‘; $config[‘num_tag_close‘] = ‘</li>‘; //这个有点意思,开始没想到直接把class加进来,选中的css样式一直调不好 $config[‘cur_tag_open‘] = ‘<li><a class="current">‘; $config[‘cur_tag_close‘] = ‘</a></li>‘; $config[‘attributes‘] = array(‘class‘ => ‘myclass‘); //根据配置,初始化分页类 $this->pagination->initialize($config); //输出分页,优化样式查参考手册 $data[‘pagination‘] = $this->pagination->create_links(); //渲染试图输出 $this->load->view(‘zhaopin‘, $data); } //查看具体一条数据页面 public function view($id = NULL) { $data[‘content‘] = $this->zhaopin_model->getzhaopin($id); if (empty($data[‘content‘])) { show_404(); } $data[‘error‘] = ‘‘; $this->load->view(‘xiangqing‘, $data); } //ajax读取数据 public function search($id = NULL) { $data = $this->zhaopin_model->getzhaopin($id); //ajax获取结果需要json格式 echo json_encode($data, JSON_UNESCAPED_UNICODE); } //搜索功能,带分页 public function lookingfor($start = 0) { //搜索结果页,继续翻页POST值不会传递,选中用session存结果传递, //没有if判断还是会由于POST没有值而导致赋值语句出错。 if ($_POST) { $_SESSION[‘search_type‘] = $_POST[‘search_type‘]; $_SESSION[‘search_content‘] = $_POST[‘search_content‘]; } //设置每页20条 $per_page = 20; //分段取出数据, //返回值$data[‘content‘][‘count‘]为查询结果数量 //返回值$data[‘content‘][‘content‘]为查询结果数组 $data[‘content‘] = $this->zhaopin_model->search($_SESSION[‘search_type‘], $_SESSION[‘search_content‘], $per_page, $start); //配置分页参数 $config[‘base_url‘] = base_url() . ‘index.php/zhaopin/lookingfor/‘; $config[‘total_rows‘] = $data[‘content‘][‘count‘]; $config[‘per_page‘] = $per_page; //设置url参数是页数,不是默认的数据条数 //$config[‘use_page_numbers‘] = TRUE; $config[‘full_tag_open‘] = ‘<ul>‘; $config[‘full_tag_close‘] = ‘</ul>‘; $config[‘first_link‘] = ‘首页‘; $config[‘last_link‘] = ‘末页‘; $config[‘first_tag_open‘] = ‘<li>‘; $config[‘first_tag_close‘] = ‘</li>‘; $config[‘last_tag_open‘] = ‘<li>‘; $config[‘last_tag_close‘] = ‘</li>‘; $config[‘next_link‘] = ‘>‘; $config[‘next_tag_open‘] = ‘<li>‘; $config[‘next_tag_close‘] = ‘</li>‘; $config[‘prev_link‘] = ‘<‘; $config[‘prev_tag_open‘] = ‘<li>‘; $config[‘prev_tag_close‘] = ‘</li>‘; $config[‘num_tag_open‘] = ‘<li>‘; $config[‘num_tag_close‘] = ‘</li>‘; //这个有点意思,开始没想到直接把class加进来,选中的css样式一直调不好 $config[‘cur_tag_open‘] = ‘<li><a class="current">‘; $config[‘cur_tag_close‘] = ‘</a></li>‘; $config[‘attributes‘] = array(‘class‘ => ‘myclass‘); //根据配置,初始化分页类 $this->pagination->initialize($config); //输出分页,优化样式查参考手册 $data[‘pagination‘] = $this->pagination->create_links(); //渲染输出 $this->load->view(‘search‘, $data); } }
模型Zhaopin_model.php
<?php class Zhaopin_model extends CI_Model { public function __construct() { parent::__construct(); $this->load->database(); } //快速读取所有数据 public function getzhaopin($id = NULL, $per_page = 20, $start = 0) { if ($id === NULL) { $query = $this->db->get(‘zhaopin‘, $per_page, $start); return $query->result_array(); } else { $query = $this->db->get_where(‘zhaopin‘, array(‘id‘ => $id)); return $query->row_array(); } } //搜索带分页 public function search($search_type, $search_content, $per_page = 20, $start = 0) { //手写语句 // $sql = "SELECT * FROM `zhaopin` WHERE ".$search_type." LIKE "."‘%".$search_content."%‘"; //直接得到结果集 // $query = $this->db->query($sql); //结果集转换为数组形式 //$query->result_array(); //使用CI快捷模式,SQL语句引号有点麻烦 $this->db->like($search_type, $search_content); $this->db->limit($per_page, $start); $this->db->from(‘zhaopin‘); $query = $this->db->get(); $array = $query->result_array(); //获取查询结果条数 //有个坑,count_all_results()使用后select会清空,文档说明可以设置第二参数为FALSE,保留select,但测试没成功 $this->db->like($search_type, $search_content); $this->db->from(‘zhaopin‘); $count = $this->db->count_all_results(); //返回多个结果,利用数组,在控制器中在数组里提取 return array(‘count‘ => $count, ‘content‘ => $array); } //获取表行数 public function getrow() { $query = $this->db->count_all(‘zhaopin‘); return $query; } }
前端view/zhaopin.php
<!doctype html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>佳源集团2018年中高层人才招聘</title>
        <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>resource/css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>resource/css/common.css">
        <script src="<?php echo base_url(); ?>resource/js/jquery-3.3.1.min.js"></script>
    </head>
    <body class="red">
        <div class="container-fluid">
            <h1 align="center">佳源集团2018年中高层人才招聘</h1>
            <div class="pagination"><?php echo $pagination; ?></div>
            <form class="form-inline" action="http://localhost/ci/index.php/zhaopin/lookingfor" method="post">
                <div class="form-group">
                    <label for="input">搜索</label>
                    <select class="form-control" name="search_type">
                        <option name="id" value="id" selected="selected">序号</option>
                        <option name="postion" value="postion">岗位</option>
                        <option name="location" value="location">地点</option>
                        <option name="num" value="num">人数</option>
                        <option name="request" value="request">任职资格</option>
                    </select>
                    <input id="id" type="text" name="search_content" class="form-control" placeholder="搜索内容">
                </div>
                <button type="submit" class="btn btn-default" id="search">搜索</button>
                <button type="button" class="btn btn-default" id="add">添加</button>
            </form>
            <div id="result"></div>
            <div class="add"><p>AJAX内容</p></div>
            <table class="table">
                <tr>
                    <th>序号</th>
                    <th>岗位</th>
                    <th>人数</th>
                    <th>任职资格</th>
                </tr>
                <?php foreach ($content as $item): ?>
                    <tr onclick="window.location = ‘http://localhost/ci/index.php/zhaopin/view/<?php echo $item[‘id‘]; ?>‘">
                        <td><?php echo $item[‘id‘]; ?></td>
                        <td><?php echo $item[‘postion‘]; ?></td>
                        <td><?php echo $item[‘num‘]; ?></td>
                        <td>详情点击</td>
                    </tr>
                <?php endforeach; ?>
            </table>
        </div>
        <script>
            // $("#add").click(function(){
            //     $(".add").html(‘<h1>添加成功</h1>‘);
            // });
            // $(document).ready($("#search").click(function(){
            //     var ids = $("#id").val();
            //         $.ajax({
            //             method: "POST",
            //             url: "http://localhost/ci/index.php/zhaopin/search/"+ids,
            //             //data: {"id" : 2},
            //               dataType: ‘json‘,
            //             // dataType:"array",
            //         success:function(e){
            //             //优化:使用ajax选择搜索项,搜索结果成列表,有分页
            //             $(".add").append(‘<p>序号:‘+e.id+‘</p><p>岗位:‘+e.postion+‘</p><p>人数:‘+e.num+‘</p><p>要求:‘+e.request+‘</p>‘);
            //             // alert(e);
            //             // return true;
            //         },
            //         error:function(e){
            //             $(".add").html(‘<p>fail</p>‘);
            //             // alert(e);
            //             // return false;
            //         }
            //     })}));
        </script>
    </body>
</html>
前端view/search.php 使用bootstrap框架,资源文件存放在根目录resource下
<!doctype html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>佳源集团2018年中高层人才招聘</title>
        <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>resource/css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>resource/css/common.css">
        <script src="<?php echo base_url(); ?>resource/js/jquery-3.3.1.min.js"></script>
    </head>
    <body class="red">
        <div class="container-fluid">
            <h1 align="center">佳源集团2018年中高层人才招聘</h1>
            <div class="pagination"><?php echo $pagination; ?></div>
            <?php echo "共" . $content[‘count‘] . "条" ?>
            <form class="form-inline" action="<?php echo base_url() ?>/index.php/zhaopin/lookingfor" method="post">
                <div class="form-group">
                    <label for="input">搜索</label>
                    <select class="form-control" name="search_type">
                        <option name="id" value="id" selected="selected">序号</option>
                        <option name="postion" value="postion">岗位</option>
                        <option name="location" value="location">地点</option>
                        <option name="num" value="num">人数</option>
                        <option name="request" value="request">任职资格</option>
                    </select>
                    <input id="id" type="text" name="search_content" class="form-control" placeholder="搜索内容">
                </div>
                <button type="submit" class="btn btn-default" id="search">搜索</button>
                <button type="button" class="btn btn-default" id="add">添加</button>
            </form>
            <div id="result"></div>
            <div class="add"><p>AJAX内容</p></div>
            <table class="table">
                <tr>
                    <th>序号</th>
                    <th>岗位</th>
                    <th>人数</th>
                    <th>任职资格</th>
                </tr>
                <?php foreach ($content[‘content‘] as $item): ?>
                    <tr onclick="window.location = ‘http://localhost/ci/index.php/zhaopin/view/<?php echo $item[‘id‘]; ?>‘">
                        <td><?php echo $item[‘id‘]; ?></td>
                        <td><?php echo $item[‘postion‘]; ?></td>
                        <td><?php echo $item[‘num‘]; ?></td>
                        <td>详情点击</td>
                    </tr>
                <?php endforeach; ?>
            </table>
        </div>
        <script>
            // $("#add").click(function(){
            //     $(".add").html(‘<h1>添加成功</h1>‘);
            // });
            // $(document).ready($("#search").click(function(){
            //     var ids = $("#id").val();
            //         $.ajax({
            //             method: "POST",
            //             url: "http://localhost/ci/index.php/zhaopin/search/"+ids,
            //             //data: {"id" : 2},
            //               dataType: ‘json‘,
            //             // dataType:"array",
            //         success:function(e){
            //             //优化:使用ajax选择搜索项,搜索结果成列表,有分页
            //             $(".add").append(‘<p>序号:‘+e.id+‘</p><p>岗位:‘+e.postion+‘</p><p>人数:‘+e.num+‘</p><p>要求:‘+e.request+‘</p>‘);
            //             // alert(e);
            //             // return true;
            //         },
            //         error:function(e){
            //             $(".add").html(‘<p>fail</p>‘);
            //             // alert(e);
            //             // return false;
            //         }
            //     })}));
        </script>
    </body>
</html>
前端view/xiangqing.php
<!doctype html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>佳源集团2018年中高层人才招聘</title>
        <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>resource/css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>resource/css/common.css">
        <script src="<?php echo base_url(); ?>resource/js/jquery-3.3.1.min.js"></script>
        <script>
            $(document).ready(function () {
                $("#submit").click(function () {
                    //alert($("#file").val());
                    if ($("#file").val()) {
                        return true;
                    }
                    return false;
                })
            })
        </script>
    </head>
    <body class="red">
        <div class="container-fluid">
            <h1 align="center">佳源集团2018年中高层人才招聘</h1>
            <h4 align="center"><?php echo $content[‘id‘]; ?></h2>
                <h4>招聘岗位</h4>
                <p><?php echo $content[‘postion‘]; ?></p>
                <h4>工作地点</h4>
                <p><?php echo $content[‘location‘]; ?></p>
                <h4>任职资格</h4>
                <p><?php echo nl2br($content[‘request‘]); ?></p>
                <hr />
                <a href="http://www.zjjiayuan.com.cn/apply.html" class="btn btn-primary btn-lg margin" role="button">投递简历</a>
        </div>
    </body>
</html>
样式common.css
h1 { font-size: 4rem; padding-top: 3rem; padding-bottom: 2rem; } .center { width: 100%; text-align: center; } .red { background-color: rgb(138,32,36); color: white; font-size: 1.7rem; } h4 { padding-top: 2rem; font-size: 3rem; } p{ font-size: 2.7rem; } .margin { font-size: 4rem; height: 8rem; width: 20rem; margin: 50px auto; display: block; color: rgb(138,32,36); background-color: white; border-color: white; } .pagination{ /* border: 1px solid white;*/ } .myclass{ } .pagination ul{ /*因为使用display:flex;布局子元素margin就居中了, 以前的布局需要居中必须设置width*/ margin: 0 auto; } .pagination ul li{ float: left; list-style-type: none; margin: 0 4px; } .pagination ul li a{ display: block; padding: 3px 15px; background-color: #fff; } .pagination ul li a.current{ background-color: #4CAF50; } .pagination ul li a:hover:not(.current){ background-color: #ddd; text-decoration: none; }