我想在按钮点击时为经销商创建用户。这是我的场景: 我有一个经销商模块,经销商可以请求用户。此请求具有id,num_of_users_required和请求日期,该日期存储在名为user_requests的表中。现在,这些请求将在管理模块中获取。像这样:
现在如果管理员点击是,那么我想为该经销商创建用户[例如:1Linux-97-500-1这里是经销商,所以想要为该经销商创建用户]
现在每个用户都由一个名为key的唯一字段标识。在此字段中,我插入了经销商的唯一密钥。因此,每个用户都通过经销商密钥映射到其经销商,我们知道哪个用户属于哪个经销商。
现在我的观点我有:
<tr class="odd gradeX">
<td><?php echo $user->id; ?></td>
<td><?php echo $user->user_requested; ?></td>
<td><?php echo $user->key; ?></td>
<td><?php echo $user->date_requested; ?></td>
<td><?php echo anchor('admin/reseller/create_user/' . $user->id,'Yes'); ?></td>
<td><a href="reseller/change_status" class="btn btn-danger">No <?php echo'<i class="glyphicon glyphicon-trash"></i>';?></a></td>
<td><a href="" class="btn btn-success"><?php echo $user->status; ?></td> </a></td>
</tr>
如果我点击是,那么现在按照上面的图像生成视图然后这是我创建用户的方法。:
public function create_user($id)
{
$this->load->model('more_m');
$rajan =$this->more_m->get(array('user_requested',$id));
$request=$rajan->user_requested;
$this->load->model('reseller_m');
$query=$this->db->select('key');
$query=$this->db->get('reseller');
if($query->num_rows() > 0)
{
$row = $query->row_array();
$key= $row['key'];
}
for($i=1; $i<=$request;$i++)
{
$mydata=array('key'=>$key);
$this->db->insert('users',$mydata);
echo $this->db->last_query();
die();
}
$this->load->model('more_m');
$this->db->set('status', "'approved'",FALSE);
$this->db->where('id',$id);
$this->db->update('user_request');
redirect('admin/new_user');
}
for循环插入到用户表中,其中key是经销商的密钥。
这是我的查询生成:
INSERT INTO users
(key
)VALUES(&#39; Rajan-92-1-100-1&#39;)
因此代码适用于第一个请求,但如果我点击第二个请求并批准,那么它会为第一个转销商插入用户。所以我想这里应该有id。
我希望你理解我的问题。
表格结构:
1)经销商表
2)用户表
答案 0 :(得分:0)
在您的示例中,使用以下命令停止脚本执行:
$("#"+activeForm+"#ConsentFormId").val();
首次插入后,第二个查询将不会执行。
你也可以调试返回“$ request”变量 - var_dump($ request);之后你会知道有多少循环
答案 1 :(得分:0)
我在获取经销商密钥时犯了一个愚蠢的错误。
public function create_user($id)
{
$this->load->model('more_m');
$rajan =$this->more_m->get(array('user_requested',$id));
$request=$rajan->user_requested;
$this->load->model('reseller_m');
$query=$this->db->select('key');
$query=$this->db->where('id',$id);
$query=$this->db->get('reseller');
if($query->num_rows() > 0)
{
foreach ($query->result_array() as $row)
{
$row = $query->row_array();
$key= $row['key'];
}
}
for($i=1; $i<=$request;$i++)
{
$userdata=array('key'=>$key);
$this->db->where('id',$id);
$this->db->where('key',$key);
$this->db->insert('users',$userdata);
}
$this->load->model('more_m');
$this->db->set('status', "'approved'",FALSE);
$this->db->where('id',$id);
$this->db->update('user_request');
//die();
redirect('admin/new_user');
}
查询刚刚获取了一个密钥,因此仅插入该密钥而不是获取所有密钥,这是一个愚蠢的错误,我没有注意到。