如何使用循环向表中插入数据。?
Posted
技术标签:
【中文标题】如何使用循环向表中插入数据。?【英文标题】:How to insert data to table using loop.? 【发布时间】:2017-09-30 18:03:40 【问题描述】:我想使用循环在数据库表中插入数据。为此,我首先需要从user profile
表中获取Account_id
的数据。当用户在我的网站上注册时,他/她的姓名表会自动创建,我将此表名存储在Account_id
。这就是为什么我必须需要这个领域。
首先我得到所有注册用户Account_id
的值。然后我在模型中使用 for 循环搜索此表。
找到这张表后,应该插入行,就像动态创建的一样
$data = array(
'Paper_Name' => $paper_name,
'Paper_Type' => $paper_type,
'paid_type' => $paid_type
);
这是我的模型代码。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class create_main_table_model extends CI_Model
function login($data)
$query = $this->db->insert('main_table', $data);
$update_userdata = $this->db->select('Account_id')->from('userprofile')->get();
for($i =0; $i < $update_userdata->num_rows(); $i++)
$query = $this->db->insert($update_userdata[$i], $data);
return ($this->db->affected_rows() > 0) ? true : false;
?>
我想将数据插入到Account_id
中可用的表中。
如果这可以通过其他方式实现,请告诉我。
【问题讨论】:
问题是??? $this->db->insert ($table, $data);这是在 codeigniter 中插入查询 你几乎正确的改变这一行 $query = $this->db->insert($update_userdata[$i]->Account_id, $data); 您需要更新已经存在的行还是需要新行? 你试过我的回答了吗 【参考方案1】:你几乎正确的改变这一行得到table name
。
$update_userdata = $this->db->$update_userdata->result();
$query = $this->db->insert($update_userdata[$i]->Account_id, $data);
【讨论】:
在使用这个之前我必须得到结果。赞$this->db->$update_userdata->result();
【参考方案2】:
这是完美的解决方案。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class create_main_table_model extends CI_Model
function login($data)
$pass_data = $data;
$query = $this->db->insert('main_table', $data);
$update_userdata = $this->db->select('Account_id')->from('userprofile')->get();
for($i =0; $i < $update_userdata->num_rows(); $i++)
$data1 = $update_userdata->result();
$query = $this->db->insert($data1[$i]->Account_id, $pass_data);
return ($this->db->affected_rows() > 0) ? true : false;
?>
【讨论】:
【参考方案3】:<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class create_main_table_model extends CI_Model
function login($data)
$query = $this->db->insert('main_table', $data);
$update_userdata = $this->db->select('Account_id')->from('userprofile')->get();
for($i =0; $i < $update_userdata->num_rows(); $i++)
$data['Account_id']=$update_userdata[$i]->Account_id;
$query = $this->db->insert('table_name', $data);
return ($this->db->affected_rows() > 0) ? true : false;
?>
【讨论】:
我想再次告诉你,表名是Account_id
。所以用它作为表名以上是关于如何使用循环向表中插入数据。?的主要内容,如果未能解决你的问题,请参考以下文章