Reputation: 27
What will be the process to show to data in codeignator using Model View and Controller?
Controller
public function SecondarySchoolLevel() {
$this->load->model('Schoolprogram_model');
$data['progcategoryid'] = $this->Schoolprogram_model->getschoolprog(4);
$this->load->view('SchoolPrograms', $data);
}
View
$query = $this->db->query("SELECT * from programs where progcategoryid = $progcategoryid");
foreach ($query->result_array() as $row){
?>
<tr id="r<?php echo $row["progid"]; ?>">
<td><?php echo $row["progcode"]; ?></td>
<td><?php echo $row["activities"]; ?></td>
<td><?php echo $row["description"]; ?></td>
<td><?php echo $row["session"]; ?></td>
<td><?php echo $row["hours"]; ?></td>
<td><?php echo $row["cost"]; ?></td>
<td><?php echo $row["progcategoryid"]; ?></td>
<td><?php echo $row["agefrom"]; ?></td>
<td><?php echo $row["ageto"]; ?></td>
Model
function getschoolprog($progcategoryid) {
$this->db->where('progcategoryid', $progcategoryid);
$query = $this->db->get('programs');
return $query->result();
}
This is my code.
Upvotes: 2
Views: 325
Reputation: 21422
Controller
public function SecondarySchoolLevel() {
$this->load->model('Schoolprogram_model');
$data['progcategoryid'] = $this->Schoolprogram_model->getschoolprog(4);//result of your query is stored in this ($data['progcategoryid']) variable
$this->load->view('SchoolPrograms', $data);
}
Model
function getschoolprog($progcategoryid) {
$this->db->select('*');
$this->db->where('progcategoryid', $progcategoryid);
$query = $this->db->get('programs');
return $query->result_array();//<---- returns you an array
}
View
foreach ($progcategoryid as $key => $row) { ?>
<tr id='r<?php echo $row["progid"]; ?>'>
<td><?php echo $row["progcode"]; ?></td>
<td><?php echo $row["activities"]; ?></td>
<td><?php echo $row["description"]; ?></td>
<td><?php echo $row["session"]; ?></td>
<td><?php echo $row["hours"]; ?></td>
<td><?php echo $row["cost"]; ?></td>
<td><?php echo $row["progcategoryid"]; ?></td>
<td><?php echo $row["agefrom"]; ?></td>
<td><?php echo $row["ageto"]; ?></td>
</tr>
<?php } ?>
Upvotes: 3
Reputation: 22532
Controller
$data['progcategoryid'] = $this->Schoolprogram_model->getschoolprog(4);
$this->load->view('SchoolPrograms', $data);
View
<?php foreach($progcategoryid as $row)
{
?>
<td><?php echo $row->progcode; ?></td>// you can render your data like this
<?php }?>
No need to write query in
view
because you've already written it within yourmodel
.
You just need to send your data to views
Upvotes: 1