从会话ID开始在数据库中查找值

时间:2019-07-03 03:12:41

标签: php mysql codeigniter

我需要在ga845_clients列的atacado表中显示记录了's''n'的值,但它们返回空白。

然后,当我在视图中调用<?php echo $this->session->userdata('usu_id');?>时,会显示ID。

我已检查 usu_id 是会话ID,并且与表id的{​​{1}}中的值相同。

我创建了以下代码:

模型(Cliente_model.php):

ga845_clientes

控制器(Cliente.php):

public function getAtacadista($id) {

$this->db->select("atacadista");
$this->db->where('id', $this->session->userdata("usu_id"));
$query = $this->db->get('ga845_clientes');
return $query->result();
}

查看(carrinho.php)

public function getAtacadista() {

$this->load->model('cliente_model');
$this->load->view("carrinho", $data);
$data['atacadista'] = $this->cliente_model->getAtacadista($id);
}

3 个答案:

答案 0 :(得分:0)

请记住,视图中不存在$ data ['atacadista'],只有$ atacadista

也按照埃弗顿的建议,将其移至“ load view”行,将它们交换掉,并且$ data必须在此之前。

最后,作为一个提示,会话用户数据可以包含大量信息,您应该传递会话名称,而不是值,也许usu_id是数组内部的值,而不是数组本身。

答案 1 :(得分:0)

您可以在控制器中尝试以下操作

public function getAtacadista() {
    $this->load->model('cliente_model');
    $data['atacadista'] = $this->cliente_model->getAtacadista($id);
    $this->load->view("carrinho", array("data"=>$data));
}

您应该将$ data变量Assign放置在加载视图之前。

答案 2 :(得分:0)

因为您没有将数据发送到视图。更改语句的顺序。

public function getAtacadista() {
 $this->load->model('cliente_model');
 $data['atacadista'] = $this->cliente_model->getAtacadista($id);
 $this->load->view("carrinho", $data);
}