Tapash
Tapash

Reputation: 27

Codeigniter using Model View and Controller

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

Answers (2)

Narendrasingh Sisodia
Narendrasingh Sisodia

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

Saty
Saty

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 your model.

You just need to send your data to views

Upvotes: 1

Related Questions