Skip to main content

php recursive fucntion to get categories and subcategories

Here is my simple recursive function to create a category subcategory tree of unlimited subcategories.

<select name="parent_cat">
       <option value="0">Root</option>
       <?
          function get_all_sub_cats($parent_cat_id, $level_string)
          {
              $return_str='';
              if(!$level_string)
              {
                  $level_string='';
              }
              $db=new DB();
              $db->open();
              $db->query("select * from categories where parent_id='{$parent_cat_id}'");
              $db->rsset();
              if($db->rs)
              {
                  while($db->rs)
                  {
                      $return_str.="<option value=\"{$db->rs['id']}\" style=\"padding-left:10px\">{$level_string}{$db->rs['name']}</option>";
                      $return_str.=get_all_sub_cats($db->rs['id'], $level_string.'+');
                      $db->rsset();
                  }
              }
              else
              {
                  return false;
              }
              return $return_str;
          }
           print get_all_sub_cats('0', '');
       ?>
      </select>


This is to fit my needs. You can get the logic and build your own accordingly.

Popular posts from this blog

yii, recursive function to create category sub category hierarchy

Create this function in the category model file: ---------------------------------------------------------------------------------  <?php public function get_category_hr ( $cat_id , $selected_cat_id , $level_string ) { $select_str = '' ; if ( ! $level_string ) { $level_string = '' ; } if ( $cat_arr = $this -> findAll ( 'category_parent_id=' . $cat_id )) { foreach ( $cat_arr as $cat ) { $select_str .= "<option value= { $cat -> category_id } " ; if ( $selected_cat_id == $cat -> category_id ) $select_str .= ' selected' ; $select_str .= "> { $level_string }{ $cat -> category_name } </option>" ; $select_str .= $this -...

yii, Executing a SQL without calling a Model

yii, Executing a SQL without calling a Model <? $connection = Yii :: app () -> db ; $sql = "SELECT id,username FROM users" ; $command = $connection -> createCommand ( $sql ); $dataReader = $command -> query (); $rows = $dataReader -> readAll (); print_r ( $rows ); ?>

mysql, import sql file from command line

Method 1: A quick way to duplicate MySQL databases is to do the following: Step 1 : Dump the database either through PHPMyAdmin’s export form or through mysqldump (as I mentioned above). Note (usually, it’s mysqldump <database-name> -h<hostname> -u<username> -p<password> if you ommit the -h switch it will default to “localhost”). After you enter the command below and press enter, you will be prompted for a password because you did not enter the password after the -p switch. $ mysqldump <database-name> -u<username> -p >> somedatabasetable.sql Step 2:  Once you have the sql file, log into mysql and create a database or “use” an existing database – again, ommiting the -h will default to localhost and you will be prompted for a password if you don’t enter a password after the -p switch. $ mysql -u<username> -p Step 3:  After logging in, you will need to either create a new database and select the database for use w...