我正在创建一个网站而且我一直在尝试连接数据库,我真的找不到问题。我需要的是从我的数据库“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';
答案 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';