EDIT: With the code below now, I am unsure on how to print out the bookmarks and the tags correctly
I’m completely new to CI and I have recently hit a road block. I’m very unsure how I would go about passing a function argument from the view file to the controller so I could use it on a function?
I have a foreach loop on the view going through the all the items passed by function get_latest_bookmarks. That function returns a ID for each item and I am wanting to use this with another function called get_bookmark_tags which will get the tags of the bookmark from another table. I have provided the code I have done so far below.
Model:
- <?php
-
- class Bookmark_model extends CI_Model {
-
- function __construct()
- {
- parent::__construct();
- }
-
- function get_latest_bookmarks($limit)
- {
- // Load Database
- $this->load->database();
- // Query Database
- $query = $this->db->get('Bookmark', $limit);
- // Return Result
- return $query;
- }
-
- function get_bookmark_tags($id)
- {
- // Load Database
- $this->load->database();
- $query = $this->db->query('SELECT Tag.Title
- FROM `Tag`
- INNER JOIN BookmarkTag
- WHERE BookmarkTag.BookmarkID = "'.$id.'" AND Tag.TagID = BookmarkTag.TagID');
- return $query;
- }
Controller:
- <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
-
- class Welcome extends CI_Controller {
-
- public function index()
- {
- // Load URL Helper
- $this->load->helper('url');
- // Load User Library
- $this->load->library('ion_auth');
- // Is User Logged In
- if ($this->ion_auth->logged_in())
- {
- $data['user'] = $this->ion_auth->get_user_array();
- }
- else
- {
- redirect('auth/login');
- }
- // Load Bookmark Model
- $this->load->model('Bookmark_model');
-
- // Create Arrays
- $bookmarks = array();
- $tags = array();
-
- // Query Database
- $query = $this->Bookmark_model->get_latest_bookmarks(4);
- //
- foreach ($query->result() as $row) {
- array_push($tags, $this->Bookmark_model->get_bookmark_tags($row->BookmarkID));
- array_push($bookmarks, $row);
- }
- $data['tags_latest'] = $tags;
- $data['bookmarks_latest'] = $bookmarks;
- $this->load->view('welcome_message', $data);
- }
-
- }
View:
- <h1>Latest Bookmarks</h1>
-
- <?php foreach ($bookmarks_latest as $bookmark): ?>
-
- <?php print_r($bookmark); ?>
-
- <?php print_r($tags_latest->result()); ?>
-
- <?php endforeach; ?>