【问题标题】: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);
  • 您需要更新已经存在的行还是需要新行?
  • 你试过我的回答了吗

标签: php mysql codeigniter mysqli


【解决方案1】:

你几乎正确的改变这一行得到table name

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

【讨论】:

  • 在使用这个之前我必须得到结果。赞$this-&gt;db-&gt;$update_userdata-&gt;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。所以用它作为表名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    相关资源
    最近更新 更多