Radoo Radoo - 23 days ago 8
PHP Question

Undefined variable id in CodeIgniter

I have this todo list project.

My model



class Model_lists extends CI_Model {

function Model_list(){
parent::__construct();
}

function list_get($id){
$this->load->database();
$query = $this->db->get_where('lists', array('id'=>$id));
return $query->row_array();
}


My Controller



public function view_list($id){
$this->load->model('model_lists');
$data["query"] = $this->model_lists->list_get($id);
$this->load->view('lists/view_list',$data);
}


List view



<?php
echo $query['list_by'];
?>


However, when I access the view I get 2 PHP errors

1) Message: Missing argument 1 for Lists::view_list()

2) Message: Undefined variable: id

This is how I call the list:

<a class="view_list" href="<?php echo site_url("lists/view_list?lid={$row->list_id}");?>"><i class="icon-eye"> </i></a>

Answer

Your site url is not correct. The error is because no id is being passed and in CI (unless you have set to use query arrays) then the url is of the format www.example.com/controller/method/argument

So try:

href="<?php echo site_url('lists/view_list/'.$row->list_id); ?>"

In the docs: http://www.codeigniter.com/user_guide/helpers/url_helper.html#site_url