2013-05-29 125 views
-1

我正在创建一个网站,我一直在试图连接到数据库,我真的找不到问题。我需要的只是从我的数据库“bcjobs”中获取所有“job_desc”,并且在用户点击“job_desc”之后,他可以看到工作的全部细节。这里是我的代码无法访问Codeigniter数据库

型号:

<?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 ?> 

应用程序/视图/作业表/视图。 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

有什么问题?你是否得到了结果?你有错误吗?你在'config/database.php'文件中连接了你的数据库吗? – ekims

+0

是的,我已经配置了数据库已经显示错误404页面没有找到 –

+0

您尝试连接的数据库用户是否有权远程连接? –

回答

0

它看起来像你的路线是不正确的。

这里是关于CI路线

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

url -> localhost/index.php/journals 

以上例子将重定向到blogs类随时字journals在第一URI段被发现少许概述。 CI Reference

在你的情况,你是在第一段中寻找jobs,但它不正确地路由到一个不存在的类(假设这因为你没有张贴有关作业表控制器的任何东西)。

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

选项1:从乔布斯重命名控制器招贤纳才。并更新路线:

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

选项2:

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

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

感谢那个ekims,它确实工作,但又出现了另一个错误“在第11行的C:\ wamp \ www \ bcjobs_final \ application \ controllers \ jobs.php中的非对象上调用成员函数get_job()试着解决这个现在感谢和上帝保佑 –

+0

在你的模型中改变结构来读取'$ this-> load-> library('database');' – ekims