codeigniter JSON

12,135

$forum_list->result() returns an array of results.

If you only want 1 row, use $forum_list->row(), otherwise in the javascript, you'll need to loop through all the rows.

$.each(data, function(i,v){
  alert(v.overskrift);
});

EDIT: When outputting JSON, do not print anything before or after. You need to remove $this->load->view('includes/footer', $data); after the json_encode. Also, controllers don't return anything.

EDIT 2: Replace if ($data['forum_list'] === true) with if ($data['forum_list'] !== false). The === compares type, and an array is not a boolean.

Share:
12,135
ole
Author by

ole

Updated on June 04, 2022

Comments

  • ole
    ole almost 2 years

    Hello im using codeigniter and then i echo out my output from the database in my controller and then in my view file i do this:

    <script type="text/javascript">
    $.getJSON('ajax/forumThreads', function(data) {          
    alert(data.overskrift);
    });
    
    </script>
    

    but it dont show anything :S

    my model file

    function forumList()
    {
        $this->db->select('overskrift', 'indhold', 'brugernavn', 'dato');
        $this->db->order_by('id', 'desc');
        $forum_list = $this->db->get('forum_traad');
    
        if($forum_list->num_rows() > 0)
        {
            return $forum_list->result();
        } else {
            return false;
        }
    }
    

    my controller

    function forumThreads() {
    
        $this->load->model('ajax_model');
        $data['forum_list'] = $this->ajax_model->forumList();
    
        if ($data['forum_list'] === true)
        {
            echo json_encode($data['forum_list']);
            $this->load->view('includes/footer', $data); 
        } else {
            return  false;
        }
    
    
    }