gsc1ugs Posted April 15, 2015 Share Posted April 15, 2015 Hi I'm new to PHP but not a complete novice but its not same as ASP, can I ask how a call a function from with a class? my example code: I would like to call the function repairCategories(0); class MyClass { public function repairCategories($parent_id = 0) { $query = $this->db->query("SELECT * FROM {category} WHERE parent_id = '" . (int)$parent_id . "'"); foreach ($query->rows as $category) { // Delete the path below the current one $this->db->query("DELETE FROM {category_path} WHERE category_id = '" . (int)$category['category_id'] . "'"); // Fix for records with no paths $level = 0; $query = $this->db->query("SELECT * FROM {category_path} WHERE category_id = '" . (int)$parent_id . "' ORDER BY level ASC"); foreach ($query->rows as $result) { $this->db->query("INSERT INTO {category_path} SET category_id = '" . (int)$category['category_id'] . "', `path_id` = '" . (int)$result['path_id'] . "', level = '" . (int)$level . "'"); $level++; } $this->db->query("REPLACE INTO {category_path} SET category_id = '" . (int)$category['category_id'] . "', `path_id` = '" . (int)$category['category_id'] . "', level = '" . (int)$level . "'"); $this->repairCategories($category['category_id']); } } } Quote Link to comment Share on other sites More sharing options...
requinix Posted April 15, 2015 Share Posted April 15, 2015 It's not a static method so you'll need an instance of the class. $myclass = new MyClass();Then use the -> arrow operator. $myclass->repairCategories(/* whatever value for $parent_id you want here */); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.