无法在codeigniter php

时间:2017-07-25 08:16:33

标签: php codeigniter

点击在网址中显示该文字但无法在视图文件中显示该文字的文字。

查看:

<div class="applynow"><a href="<?php echo base_url();?>career/apply/<?php echo $r->job_name;?>" class="applyforjob">Apply Now</a></div>

单击“立即申请”按钮,在URL中显示作业名称。 但是作业名称在视图文件中没有消失。

控制器:事业/应用

function apply()
{
    $this->load->model('career_model');
    $data['records2']= $this->career_model->getcareerdatas($this->uri->segment(3));
    $data['mainpage']='apply';            
    $this->load->view('templates/template',$data);
}

职业模特:

function getcareerdatas($id)
{
    $this->db->select('jobs_list.*');       
    $this->db->from('jobs_list');
    $this->db->where(array('jobs_list.job_name'=>$id));
    $q=$this->db->get();        
    if($q->num_rows()>0)
      {
    return $q->result();
        }
    else
    {
    return false;
    }
}

查看:

<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):?>              
            <span class="digit"><?php echo $r->job_name ;?></span>
            <?php endforeach;endif;?>

                    <div class="applyfullname contactname">
                        <label for="fullname"><font color="black">Full Name</font><span class="mandatory"><font color ="red">*</font></span></label>
                        <input type="text" class="form-control names" name="fullname" id="fullname " value="<?php echo set_value('fullname');?>" placeholder="Full Name">   
                        <?php echo form_error('fullname', '<div class="error">', '</div>'); ?>
                    </div>  

                    <div class="applynowemail contactemail">
                    <label for="email"><font color="black">Email</font><span class="mandatory"><font color ="red">*</font></span></label>
                        <input type="email" class="form-control emails" id="email" name="email" value="<?php echo set_value('email');?>" placeholder="Email" >
                        <?php echo form_error('email', '<div class="error">', '</div>'); ?>                         
                    </div>

点击立即申请按钮,将在该页面中打开另一页,但不显示作业名称。

MYSQL:

+---------+--------------------+--------------------+-----------------+
| jobs_id |      job_name      |     jobs_name      | job_description |
+---------+--------------------+--------------------+-----------------+
|       1 | Junior QA Enginner | Junior_QA_Enginner | Description     |
|       2 | Junior Engineer    | Junior_Enginner    | Description     |
+---------+--------------------+--------------------+-----------------+

2 个答案:

答案 0 :(得分:1)

第一种观点就像(在网址中取job_id而不是job_name):

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

现在,点击这个后你的控制器就像(不需要段,你可以将querystring的值作为codeigniter中的函数参数):

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

然后您的模型是(更改您的查询以与job_id进行比较而不是job_name):

function getcareerdatas($id)
{
    $this->db->select('jobs_list.*');       
    $this->db->from('jobs_list');
    $this->db->where('jobs_list.jobs_id', $id);
    $q = $this->db->get();        

    return $q->result();
}

保持视野不变。如果您与$jobs_id获得匹配的记录,那么您肯定会在$records2中获得数据。

尝试此解决方案。

答案 1 :(得分:0)

试试这个

http://www.codeigniter.com/user_guide/database/results.html

function getcareerdatas($id)
{

   $this->db->where('job_name', $id);
   $q = $this->db->get('jobs_list');        

   if($q->num_rows() > 0) {
      return $q->result();
   } else {
      return array();
   }
}

确保您的控制器只有首字母大写字母。

在控制器上回显$ this-&gt; uri-&gt;段(3)确保您获得正确

更新

删除&& is_array($records2)仅用于测试。

<?php if(isset($records2)) {?>
// Other data 
<?php }?>