可以說我的控制器查詢是$查詢。
如何顯示使用這種類型代碼以外的數據?在視圖中顯示查詢codeigniter
foreach($query as $row){
echo $row->student_id;
}
任何比這其他堂妹查詢只有一行
可我訪問返回數組像這樣什麼辦法?
$query['student_id'];
可以說我的控制器查詢是$查詢。
如何顯示使用這種類型代碼以外的數據?在視圖中顯示查詢codeigniter
foreach($query as $row){
echo $row->student_id;
}
任何比這其他堂妹查詢只有一行
可我訪問返回數組像這樣什麼辦法?
$query['student_id'];
假設你的表有以下字段
student_id and student_name
有你的模型或控制器只返回一行。
function get_first_student() {
$query = this->db->select('*')->from('student')-where('student_id','1')->limit(1);
$data['stuff'] = $query->row_array(); // or $query->row() which returns an object
$this->load->view('whatever',$data)
}
那麼在你看來
<p>student name: <?= $stuff['student_name'] ?> </p>
<p>student id: <?= $stuff['student_id'] ?> </p>
其實,$query->row()
只取第一行。
因此,而不是通過結果循環,你可以只是做:
$student_id = $query->row()->student_id; // (untested)
OR
$row = $query->row();
$student_id = $row->student_id;
假設查詢將總是返回一行。
假設您正在顯示用戶的配置文件。將所有數據庫查詢存儲在MODEL中是一個好習慣。我用這個:
控制器:
$this->load->model('Profile');
$data['row'] = $this->Profile_model->profile_read(); //get profile data
$this->load->view('profile_view', $data); //load data to view
MODEL:
function profile_read()
{
$this->db->where('user_id', $user_id);
$query = $this->db->get('user_profiles'); //get all data from user_profiles table that belong to the respective user
return $query->row(); //return the data
}
在這個模型中,你可以有你的其他數據庫功能(創建,刪除,更新)
VIEW:
<?php echo $row->name; ?>
<?php echo $row->email; ?>
<?php echo $row->about; ?>
etc
最後在視圖中,您可以回顯屬於用戶的表中的任何行。
另一種替代方法是將數據存儲在會話中,該會話可以在您的站點的任何地方訪問,而無需每次查詢。理想的存儲在會話中的一些數據是用戶名或用戶標識。 http://codeigniter.com/user_guide/libraries/sessions.html – CyberJunkie 2011-06-11 00:41:44