【问题标题】:Codeigniter - Input post array insert into mysql databaseCodeigniter - 输入后数组插入 mysql 数据库
【发布时间】:2013-05-19 18:31:07
【问题描述】:

我不明白如何在 MySQL 表中准确插入一行。如果我使用我的代码,我会为每个帖子添加一个新行。而不是这样,我只想要一行包含所有值。

这是代码示例。

HTML:

echo form_open('account/update'); 
  echo "<p><label for='gender'>Gender</label>
 <input type='text' name='gender' id='gender'  value='".$gender."'  />  
  </p>
  <p>
  <label for='age'>Age</label>
  <input type='text' name='age' id='age' value='".$age."' />
  </p>
      <p>
  <label for='bio'>Biografie</label>
  <input type='text' name='bio' id='bio' value='".$bio."' />
  </p>
      <p>
  <label for='skills'>Skills</label>
  <input type='text' name='skills' id='skills' value='".$skills."' />
  </p>

  <p><input type='submit' value='Save' /></p>";


 echo form_close(); 

控制器:

function update() 
{   
    $userid = $this->session->userdata("userid");


    $datanew = array(
           'userid' => $this->session->userdata("userid"),
           'gender' => $this->input->post('gender'),
           'age' => $this->input->post('age'),
           'bio' => $this->input->post('bio') ,
           'skills' => $this->input->post('skills')
        );
$this->session->set_userdata($data);
    $this->load->model('model_account');
    $this->load->model("model_user");

    $this->model_account->profile_insert($datanew);

$this->load->view("change_avatar");
    redirect("account/show/".$this->session->userdata("userid"));
}

型号:

function profile_insert($datanew) 
{   

  $this->db->insert('profile', $datanew);

}

如果我提交 HTML 表单,我会得到 5 行。

【问题讨论】:

  • 嗯,我不能在我认为的地方使用,因为插入行不可用于检查。我只需要一行
  • 你想将数组插入一行吗??
  • 是的,我只需要一行。或与右列中的每个值对齐。我做错了什么
  • 表名不是'profile'吗?以及行名是什么?
  • 表名是正确的配置文件。但新行或新行没有名称。表格看起来是这样的:列是用户 ID - 公共 - 性别 - 年龄 - 技能

标签: mysql arrays codeigniter


【解决方案1】:

这对我有用: 我将用户 ID 设置为唯一,并在控制器中创建了一个 if 语句 ti 在插入和更新功能之间切换。

控制器:

    function update() 
{   

    $datanew = array(
           'userid' => $this->session->userdata("userid"),
           'gender' => $this->input->post('gender'),
           'age' => $this->input->post('age'),
           'bio' => $this->input->post('bio') ,
           'skills' => $this->input->post('skills')
        );

    $exists = $this->db->select('profile')->where('userid', $this->session->userdata("userid"));

    if($exists)
    {

      $this->session->set_userdata($datanew);
      $this->load->model('model_account');
      $this->load->model("model_user");
      $this->model_account->profile_update($datanew);
      $this->load->view("change_avatar");
      redirect("account/show/".$this->session->userdata("userid"));
    } 
      else
    {


      $this->session->set_userdata($datanew);
      $this->load->model('model_account');
      $this->load->model("model_user");
      $this->model_account->profile_insert($datanew);     
      $this->load->view("change_avatar");
      redirect("account/show/".$this->session->userdata("userid"));
    }   

}

型号:

function profile_insert($datanew) 
{   
        $this->db->insert('profile', $datanew);          
}

    function profile_update($datanew) 
{   
        $this->db->update('profile', $datanew);              
}

谢谢你帮助我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2018-03-09
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    相关资源
    最近更新 更多