erstellen Ich erstelle ein Geschäft mit Kategorien. Was ich will, erreichen:Wie Unterkategorien der Unterkategorien
Main category
sub category
sub category of the sub category
another main one
Im Moment habe ich wie so eine Tabellenstruktur haben:
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
--
I Unterkategorien erstellen möchten, so kann der Benutzer die Hauptkategorie klicken, die alle Unter zeigen whill Kategorien oder klicken Sie auf die Unterkategorie, die die Unterkategorien der Unterkategorie anzeigt, oder klicken Sie auf die Unterkategorie.
In meiner Produkttabelle, ich cam mit der Kategorie-ID, so dass es n der Kategorie verbunden werden kann, hier ist meine php:
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>';
}