Es gibt ein paar Dinge, die geklärt werden könnten:
- Ein
model
ist eine Entität, die in der Datenbank bestehen bleibt. In Ihrem Fall:Mitgliedschaft - Ein
controller
ist dafür verantwortlich, das Modell zu laden und es an die anzuzeigende Ansicht zu übergeben - Eine
view
sollte nur HTML-Markup haben, keine Funktionen, keine Logik.
Datenbank
Angenommen, Ihre Datenbank hat die folgende Struktur.
+---------------+-----------+------------+--------------------+
| id_membership | username | name | email |
+---------------+-----------+------------+--------------------+
| 1 | Marishka | marishkapv | [email protected] |
| 2 | johndoe | John | [email protected] |
| 3 | dennisv | Dennis | [email protected] |
+---------------+-----------+------------+--------------------+
Modell
Sie könnten Ihr Modell class Membership extends CI_Model
erstellen unter /application/models/membership.php
Datei.
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;
}
}
}
Verantwortlicher
Angenommen, Sie haben eine Anmeldeseite unter example.com/index.php/login
, diese sollte sich unter /application/controllers/login.php
befinden wie unten:
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);
}
}
Sehen Sie aus, als wäre das Modell geladen, indem Sie diese beiden Zeilen ausgeben:
//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();
Aufrufe
Wie Sie im Controller-Code bemerkt haben, gibt es zwei Ansichtsdateien, login_view
und result_view
. Das erste zeigt ein HTML-Formular, in das Sie den Benutzernamen eingeben können, um eine Auswahlabfrage auszulösen. Die result_view
Zeigt die Informationen des Mitglieds gemäß der ausgewählten Mitgliedschaft an
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>