<?phpclass Blog extends Controller { function Blog() { parent::Controller(); //Scaffolding should be enabled for development only $this->load->scaffolding('blog_entries'); } function index() { // We don't want a short URL $this->home(); exit; } function home($page = null) { // Load essential classes $this->load->database(); // If there is no page defined, get the first 10 results from the database if ($page == null) { // This query gets the wanted information $entries = $this->db->query('SELECT b.*, u.id as userid, u.username FROM blog_entries as b INNER JOIN blog_users as u ON b.author = u.id ORDER BY date LIMIT 10'); // The useful information is loaded into an array called $info $data["entries"] = $entries->result_array(); // Load the home view, and hand over the information $this->load->view('blog_home', $data); } } function view($id) { if ($id == null || !is_int($id)) { // No id, dump to home $this->home(); exit; } // id is set, so load the needed classes $this->load->database(); // Check to see if the id exists $entry = $this->db->query("SELECT b.*, u.id as userid, u.username FROM blog_entries as b INNER JOIN blog_users as u ON b.author = userid WHERE b.id = ".$id." LIMIT 1"); // Don't continue if there isn't a result if ($entry->num_rows() > 0) { // There's a result, prepare information for the view $data["entry"] = $entry->row_array(); // Go to the view $this->load->view('blog_view', $data); } else { // No result, dump to home $this->home(); exit; } }}?>