无法访问Codeigniter数据库

时间:2013-05-29 02:38:38

标签: php database codeigniter codeigniter-routing

我正在创建一个网站而且我一直在尝试连接数据库,我真的找不到问题。我需要的是从我的数据库“bcjobs”中获取所有“job_desc”,然后用户可以单击“job_desc”以便能够查看作业的完整详细信息。这是我的代码

型号:

<?php

class Jobs_model extends CI_Model {

    public function __construct() {
        $this->load->database();
    }


        public function get_job($slug = FALSE){
            if($slug === FALSE){
                $query = $this->db->get('employer_postjob');
                return $query->result_array();

            }
            $query = $this->db->get_where('employer_postjob',array('job_desc'=>$slug));
            return $query->row_array();
        }

}

?>

控制器:

<?php

class Jobs extends CI_Controller {

    public function __contruct() {
        parent::__construct();
        $this->load->model('jobs_model');
    }

    public function index() {
        $data['job'] = $this->jobs_model->get_job();
        $data['title'] = 'Job List';

        $this->load->view('templates/header', $data);
        $this->load->view('templates/navigation', $data);
        $this->load->view('joblist/index', $data);
        $this->load->view('templates/footer', $data);
    }

    public function view($slug) {
        $data['job_item'] = $this->jobs_model->get_job();

        if (empty($data['job_item'])) {
            echo "no data";
        }

        $data['title'] = $data['job_item']['title'];

        $this->load->view('templates/header', $data);
        $this->load->view('templates/navigation', $data);
        $this->load->view('joblist/view', $data);
        $this->load->view('templates/footer', $data);
    }

}

?>

应用/视图/作业表/ index.php的:

<?php foreach ($job as $job_item): ?>

    <h2><?php echo $job_item['title'] ?></h2>
    <div id="main">
        <?php echo $job_item['text'] ?>
    </div>
    <p><a href="joblist/<?php echo $job_item['slug'] ?>">View article</a></p>

<?php endforeach ?>

应用/视图/作业表/ view.php:

<?php
echo '<h2>'.$job_item['title'].'</h2>';
echo $job_item['text'];

路线:

$route['jobs/(:any)'] = 'joblist/$1';
$route['jobs'] = 'joblist';
$route['(:any)'] = 'pages/$1';
$route['default_controller'] = 'pages';

1 个答案:

答案 0 :(得分:0)

根据您的评论,您的路线看起来不正确。

以下是关于CI路线的一点概述

$route['journals'] = "blogs";

url -> localhost/index.php/journals

只要在第一个uri细分中找到单词blogs,上面的示例就会重定向到journals类。 CI Reference

在您的情况下,您在第一个段中查找jobs,但错误地将其路由到不存在的类(假设这样,因为您没有发布有关作业列表控制器的任何内容)。

所以你有两个选择;重命名您的控制器,或修改您的路线。

选项1:将控制器从作业重命名为作业列表。并更新路线:

$route['jobs/(:any)'] = 'joblist/view/$1';

选项2:

您的网址:localhost/bcjobs_final/index.php/jobs

$route['jobs/(:any)'] = 'jobs/view/$1';