Có một số điều có thể được làm rõ:
- Mô hình
model
là một thực thể tồn tại trong cơ sở dữ liệu. Trong trường hợp của bạn: Tư cách thành viên - Một
controller
chịu trách nhiệm tải mô hình và chuyển nó đến chế độ xem để hiển thị - Một
view
chỉ nên có đánh dấu html, không có chức năng, không có logic.
Cơ sở dữ liệu
Giả sử rằng cơ sở dữ liệu của bạn có cấu trúc bên dưới.
+---------------+-----------+------------+--------------------+
| id_membership | username | name | email |
+---------------+-----------+------------+--------------------+
| 1 | Marishka | marishkapv | [email protected] |
| 2 | johndoe | John | [email protected] |
| 3 | dennisv | Dennis | [email protected] |
+---------------+-----------+------------+--------------------+
Mô hình
Bạn có thể xây dựng mô hình của mình class Membership extends CI_Model
tại /application/models/membership.php
tệp.
class Membership extends CI_Model {
function __construct()
{
parent::__construct();
}
function member_here()
{
$this->db->select('');
$this->db->from('membership');
$this->db->where('username',$this->input->post('username'));
$q = $this->db->get('');
if($q->num_rows() > 0)
{
$data = array();
foreach($q->result() as $row)
{
$data=$row;
}
return $data;
}
}
}
Bộ điều khiển
Giả sử rằng bạn có trang đăng nhập tại example.com/index.php/login
, điều này sẽ nằm tại /application/controllers/login.php
như bên dưới:
class Login extends CI_Controller
{
function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('login_view');
}
public function result()
{
$this->load->model('membership');
$data['member'] = $this->membership->member_here();
$this->load->view('result_view', $data);
}
}
Có vẻ như các mô hình được tải sẽ ném ra hai dòng sau:
//Load the model in make use of its functions
$this->load->model('membership');
//load the row whit the given username
//the result is assigned to array with the key "member", in the view you access this
//value with $member var
$data['member'] = $this->membership->member_here();
Lượt xem
Như bạn đã lưu ý trong mã bộ điều khiển, có hai tệp chế độ xem, login_view
và result_view
. Đầu tiên sẽ hiển thị một biểu mẫu html nơi bạn có thể đặt tên người dùng để kích hoạt một truy vấn chọn lọc. result_view
hiển thị thông tin của thành viên theo thành viên đã chọn
login_view.php
<html>
<head></head>
<body>
<form action="login/result" method="post">
Type your username: <input type="text" name="username" />
<input type="submit" value="Load from database" />
</form>
</body>
</html>
result_view.php
<h4>Details:</h4>
<p>
Id: <?=$member->id_membership?> <br />
Username: <?=$member->username?> <br />
Email: <?=$member->email?>
</p>