我正在使用CodeIgniter进行Web应用程序,但我仍然坚持向用户显示数据库记录。目前我有这个:
**模特**
function showAllUsers()
{
$this -> db -> select('id, username, password');
$this -> db -> from('app_users');
$query = $this -> db -> get();
if($query -> num_rows() > 0)
{
return $query->result();
}
else
{
return false;
}
}
**控制器**
function index()
{
if($this->session->userdata('logged_in'))
{
$data = array();
$session_data = $this->session->userdata('logged_in');
$data['loggedin'] = $session_data['username'];
$type = $this->fillUserModule();
$naarview = array_merge( $data, $type );
//$data['title'] = ucfirst($page); //Capitalize first letter
$this->load->view('templates/header');
$this->load->view('navbar.php');
$this->load->view('pages/home', $naarview);
$this->load->view('templates/footer');
}
else
{
//If no session, redirect to login page
redirect('login', 'refresh');
}
}
function fillUserModule()
{
//Run the query for getting all users
$result = $this->user->showAllUsers();
if ($result)
{
var_dump($result);
return $result;
}
else
{
return false;
}
}
如果我转储结果,我会得到这个,这是来自$ result查询:
array(2) {
[0]=> object(stdClass)#20 (3) {
["id"]=> string(1) "1"
["username"]=> string(3) "bob"
["password"]=> string(32) "81dc9bdb52d04dc20036dbd8313ed055"
}
[1]=> object(stdClass)#21 (3) {
["id"]=> string(1) "2"
["username"]=> string(4) "huub"
["password"]=> string(32) "258bb2089ad9345897565e3e7f023f6e"
}
}
但我似乎无法在View中访问它。我可以访问“登录”'变量,但一个明确标识,但实际用户的数组,来自模型和控制器,我无法访问它,可能是因为它是一个数组,这是一个stdClass?
我是否需要将这些值转换为另一个数组,以便我可以访问它?
答案 0 :(得分:1)
使用$query->result_array()
代替$query->result()
。结果将是数组,而不是对象:)
答案 1 :(得分:1)
像这样编辑控制器
$this->load->view('pages/home', array('naarview' => $naarview));
并在主页视图页面中访问它。
答案 2 :(得分:1)
在这里,您将看到我们如何从codeigniter
中的控制器发送数据function fillUserModule()
{
//Run the query for getting all users
$result = $this->user->showAllUsers();
if ($result)
{
$data['result']=$result;
//load view here
$this->load->view('home', $data);
}
else
{
return false;
}
}
在您的视图页面中使用
foreach($result as $val){
//your code here
}
答案 3 :(得分:1)
试试这个:
function fillUserModule()
{
//Run the query for getting all users
$result = $this->user->showAllUsers();
if ($result)
{
var_dump($result);
echo $result->username."<br />";
return $result;
}
else
{
return false;
}
}
您可以使用"->"
访问对象数据,如下所示:echo $result->username."<br />";