CodeIgniter get_where CodeIgniter get_where codeigniter codeigniter

CodeIgniter get_where


CodeIgniter is a framework based on MVC principles. As a result, you would usually separate application logic, data abstraction and "output" into their respective areas for CodeIgniter use. In this case: controllers, models and views.

Just for reference, you should usually have you "data" code as a model function, in this case the get_where functionality. I highly suggest you read through the provided User Guide to get to grips with CodeIgniter, it should hold your hand through most steps. See: Table of Contents (top right).

TL;DR

To solve your problem you need to make sure that you pass controller variables through to your view:

function files(){    $owner = $this->auth->get_user();    $data['files'] = $this->db->get_where('files', array('owner =' => '$owner'))->result();    $this->load->view('name_of_my_view', $data);}

And then make sure to use the correct variable in your view:

<?php foreach($files as $row): ?>    <span><?=$row['name']; ?></span><?php endforeach; ?>


<?php foreach($query->result() as $row): ?>    <span><?=$row->name?></span><?php endforeach; ?>

Remove the result function like so.

<?php foreach($query as $row): ?>    <span><?=$row->name?></span><?php endforeach; ?>

Btw. It's a much better idea to test the query for a result before you return it.

function files(){    $owner = $this->auth->get_user();    $query = $this->db->get_where('files', array('owner =' => $owner))->result();    if ($query->num_rows() > 0)    {        return $query->result();    }    return FALSE;}


public function get_records(){   return $this->db->get_where('table_name', array('column_name' => value))->result();}

This is how you can return data from database using get_where() method.