如何使用循环将数据插入表。

时间:2017-05-03 04:23:08

标签: php mysql codeigniter mysqli

我想使用循环在数据库表中插入数据。为此,我首先需要从Account_id表中获取user profile的数据。当用户在我的网站上注册时,他/她的名字表是自动创建的,我将这个表名存储在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中可用的表格。 如果可以通过其他方式实现,请告诉我。

3 个答案:

答案 0 :(得分:3)

这是完美的解决方案。

<?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;
    }
}
?>

答案 1 :(得分:1)

您几乎可以更改此行以获取table name

$update_userdata = $this->db->$update_userdata->result();
$query = $this->db->insert($update_userdata[$i]->Account_id, $data);

答案 2 :(得分:1)

<?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;
    }
}
?>