2016-06-19 12 views
0

カテゴリを持つストアを作成しています。サブカテゴリのサブカテゴリを作成する方法

Main category 
    sub category 
     sub category of the sub category 
another main one 

を、私はそうのようなテーブル構造を持っている現時点では:私が達成したい何

CREATE TABLE `categories` (
    `category_id` int(11) NOT NULL, 
    `main_category` varchar(50) NOT NULL, 
    `sub_category` varchar(50) NOT NULL, 
    `category_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

-- 
-- Dumping data for table `categories` 
-- 

INSERT INTO `categories` (`category_id`, `main_category`, `sub_category`, `category_date`) VALUES 
(1, 'Electronics', 'Laptops', '2016-02-21 13:49:14'), 
-- 
-- Indexes for dumped tables 
-- 

私は、ユーザーがすべてのサブを示しwhillメインカテゴリをクリックすることができますので、サブカテゴリーを作成したいですサブカテゴリをクリックするか、サブカテゴリのサブカテゴリを表示するサブカテゴリをクリックするか、サブサブカテゴリをクリックします。それはn個のカテゴリを結合することができるので、私の製品テーブルで

、私はここに私のPHPの、カテゴリIDを使用してCAM:

public static function category_form() 
{ 
    echo '<select name="categories" class="form-control col-sm-12">'; 
    echo '<option>'.System::translate('Choose an option').'</option>'; 

     $i = 0; 
     $mainCatName = ''; 
     foreach(SELF::categories() as $category): 
      if($category->main_category != $mainCatName) { 
       $mainCatName = $category->main_category; 
       if($i = 0) { 
        echo '<optgroup label="'.$category->main_category.'">'; 
       } else { 
        echo ''; 
        echo '<optgroup label="'.$category->main_category.'">'; 
       } 
      } 

      echo '<option value="'.System::escape($category->sub_category).'">'.System::escape($category->sub_category).'</option>'; 
      $i++; 
      endforeach; 
    echo '</select>'; 

} 

答えて

0

使用=====がACシングル=ない比較するために、単一の等号、すべての反復で$ iの値を0と設定し、これに変更します。

if($i == 0) { 
関連する問題