Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require "SQL_Object.php";
- // Example extended class
- class forumObject extends SQL_Object {
- function buildForum() {
- $sql = "SELECT * FROM `forum_cats` WHERE `PID` = '{$this->data[$this->pointer]['ID']}'";
- $this->object[$this->pointer]['Forum'] = new forumObject($sql);
- }
- }
- // Make sure you connect to your database first.
- $id_link = mysql_connect("localhost", "user", "password");
- mysql_select_db("database");
- // ------------------------------------------------
- // Example Recursive Forum Builder.
- function buildForumCategories($forums) {
- // Build a container so the child boards indent.
- echo "<div style=\"margin-left: 10px;\">";
- // We can use foreach to increment the internal pointer on the class.
- foreach ($forums as $key => $forum) {
- // Echo the forum name. (The field name is the MySQL row or whatever you specified in the query.
- echo $forums->name . "<br />";
- // We can see if there are any child forums using count.
- // $forums->Forum will invoke PHP 5's magic method "__get"
- // SQL_Object also implements countable interface so we can
- // override the count function with our own.
- if (count($forums->Forum) > 0) {
- // Call child boards.
- buildForumCategories($forums->Forum);
- }
- }
- // We can also manually do it with a for:
- // Example: for ($forums->rewind(); $forums->valid(); $forums->next())
- //
- // We could use the internal objects, but the methods work just fine.
- echo "</div>";
- }
- // Do you're normal query for the initial boards.
- $sql = "SELECT * FROM `forum_cats` WHERE `PID` = 0";
- // Pass the query to the extended class.
- $forums = new forumObject($sql);
- // Build the forum
- buildForumCategories($forums);
Add Comment
Please, Sign In to add comment