使用下拉列表在codeigniter php

时间:2017-09-11 11:06:52

标签: php codeigniter

您好我有一个工作门户页面,我将显示工作列表,用户可以通过点击立即申请按钮申请发布的工作,表格将是他们需要填写他们的详细信息等的地方。 表格包含他们申请的职位,姓名,电子邮件,手机号码等... 单击applynow按钮时将自动获取位置。 在这里,我需要在下拉列表中显示所有作业列表,我选择的那个应该是文本框中的第一个,但是从我的代码中,当我们点击立即应用时,它显示总页面为空,不显示任何内容。

显示appplynow按钮(查看):

 <div class="applynow"><a href="<?php echo base_url();?>career/apply/<?php echo $r->jobs_id;?>" class="applyforjob">Apply Now</a></div>
 <div class="moreinfo" id="music" >More Info</div>

控制器(事业/应用):

function apply($job_id)
{
    $this->load->model('career_model');
    $this->load->model('apply_model');
    $data['joblist']=$this->apply_model->jobs_dropdown();
    $data['records2']= $this->career_model->getcareerdatas($job_id);        
    $data['mainpage']='apply';      
    $this->load->view('templates/template',$data);
}

查看:

            <form name="applynow"  id="applynow" enctype="multipart/form-data" method="post" action="<?php echo base_url();?>apply/applynow" >              
            <div class ="applyus">  
            <?php if(isset($records2) && is_array($records2)):?>
            <?php foreach ($records2 as $r):?>              
            <div class="applyposition ">
            <input type="text" class="form-control positionapplied" name="positionapplied" id="positionapplied " value="<?php echo $r->job_name ;?>" readonly>  
            <?php
            $joblist['']='--Select Category --';    
            $jobs_id="id='jobs_id' ";   
            echo form_dropdown('jobs_id',$joblist,$r->jobs_id,$jobs_id);    
            ?>                              
            </div>  
            <?php endforeach;endif;?>                               
            <button  type="submit" class="btn btn-success successss" id="sub" >Submit</button>  
            <a  class="button cancel cancels" href="<?php echo site_url()?>career">Cancel</a>       
            <input type="reset" value="Reset" class="reset">                        
            </div>
            </form>

模型(apply_model):

function jobs_dropdown()    
{       
    $this->table = 'jobs_list';     
    $this->where('status',1);       
    $joblist=$this->dropdown('jobs_id','job_name');     
    return $joblist;
}

在Error_Log中出现此错误:

PHP Fatal error:  Call to undefined method Apply_model::where() in /home/website/public_html/staging/application/models/apply_model.php on line 99

2 个答案:

答案 0 :(得分:0)

来自CodeIgniter文档:

<?php
class News_model extends CI_Model {

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

这将通过$ this-&gt; db对象使数据库类可用。

那么在你的模型中,你可以像这样访问where()子句:

$this->db->where($blahblah);

在此处查看他们的教程:https://www.codeigniter.com/userguide3/tutorial/news_section.html

答案 1 :(得分:0)

<?php
    defined('BASEPATH') OR exit('No direct script access allowed');

class Apply_model extends CI_Model 
{
    function __construct() 
    {
        // Call the Model constructor
        parent::__construct();
        $this->db = $this->load->database('default', true); 
    }
    function jobs_dropdown()    
    {       
        $this->table = 'jobs_list';     
        $this->where('status',1);       
        $joblist=$this->dropdown('jobs_id','job_name');     
        return $joblist;
    }
}

将此保存为application_model.php在application / model文件夹中