【问题标题】:CI not adding data into db but adding '0'CI不将数据添加到数据库中,而是添加“0”
【发布时间】:2014-08-21 07:28:05
【问题描述】:

我有一个模型、控制器和视图,但是当我填写表格时,它只是将数据添加到所有值都为空的数据库中,有人帮忙吗?我已经尝试了一切,但我无法让它工作,我在注册部分遇到了同样的问题,但是它不会在数据库中添加任何东西,我已经在配置中将它连接到它,所以我知道它不是那个。

控制器

<?php class Job extends CI_Controller { 

public function details() 
 { 
 $this->load->model('JobModel'); 
 $data['msg']=$this->JobModel->getJob(); 
 $this->load->view("details",$data); 
 } 


public function addJobForm(){ 
$this->load->helper('form'); 
$data['title']="Add a New Job"; 
$this->load->view("new_job_form",$data); 
} 

public function NewJob(){ 
$this->load->helper('form'); 
$data['title']="Add a New Job"; 
//$this->load->view("new_job_form",$data); 

$JobTitle=$this->input->post('JobTitle'); 
$JobDescription=$this->input->post('JobDescription'); 
$Date=$this->input->post('Date'); 
$Pay=$this->input->post('Pay'); 
$this->load->model("newjob");


if($this->newjob->addJobForm($JobTitle, $JobDescription, $Date, $Pay)){ 
 $data['msg']="Success"; 
 }

 else{ 
 $data['msg']="Something went wrong"; 
 } 
 $this->load->view("new_job_form",$data); 
} 

}

?>

型号

    <?php

Class NewJob extends CI_Model
{

  function JobModel(){
    parent::Model();
    $this->load->helper('form');                
  }

  function AddJobForm(){
    $this->load->database();
    $data = array(
              'JobTitle'=>$this->input->post('JobTitle'),
              'JobDescription'=>$this->input->post('JobDescription'),
              'Date'=>$this->input->post('Date'),
              'Pay'=>$this->input->post('Pay'),
              );
    $this->db->insert('jobs',$data);
  }
}
?>

HTML 表单

<!DOCTYPE HTML> 
<html> 
<head> 
 <title><?php echo $title;?></title>
 <link rel="stylesheet" href="../CSS/style.css">
 <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
</head> 
<body>
 <? php include('navigationbar.php')?>
 <div id="container">
 <form style="text-align: center;width: 600px;
    margin-left: auto;
    margin-right: auto;
    background-color: #ffd105;
    padding: 5px;
    display: block;
    color: #fff;
    text-decoration: none;">
   <?php echo form_open('job/newjob'); ?>
   <label for="JobTitle">Job Title</label>
     <input type="text" size="20" id="JobTitle" name="JobTitle"/>
     <br/>
     <label for="JobDescription">Job Description:</label>
     <input type="text" size="20" id="JobDescription" name="JobDescription"/>
     <br/>
     <label for="Date">Date:</label>
     <input type="text" size="20" id="Date" name="Date"/>
     <br/>
     <label for="Pay">Pay:</label>
     <input type="text" size="20" id="Pay" name="Pay"/>
     <br/>
     <input type="submit" value="Add Job"/>
   </form>
 <a href="http://helios.hud.ac.uk/u1059010/assignment2/CI/index.php/home/home_view/">Home</a>
 </div>
</body> 
</html>

【问题讨论】:

    标签: database model-view-controller model continuous-integration codeigniter-2


    【解决方案1】:

    您的视图文件中的问题 删除

    <form style="text-align: center;width: 600px;
    margin-left: auto;
    margin-right: auto;
    background-color: #ffd105;
    padding: 5px;
    display: block;
    color: #fff;
    text-decoration: none;">
    

    &lt;/form&gt;

    来自您的代码 您已经使用 html 标签创建表单,并再次使用 codeigniter 函数创建表单。 你可能会得到帮助 http://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

    【讨论】:

      【解决方案2】:

      您没有将任何数据从您的控制器传递到您的模型,更好地自动加载您的模型,并且不要忘记 mvc,您的模型要查看到控制器到模型。

       <?php
      
          Class NewJob extends CI_Model
          {
      
            function JobModel(){
              parent::Model();
              $this->load->helper('form');                
            }
      
            function AddJobForm($JobTitle, $JobDescription, $Date, $Pay){
      
              $data = array(
                        'JobTitle'=>$JobTitle,
                        'JobDescription'=>$JobDescription,
                        'Date'=>$Date,
                        'Pay'=>$Pay
                        );
              $this->db->insert('jobs',$data);
            }
          }
          ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-19
        • 2018-01-22
        • 2017-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多