Я создаю очень простое приложение, но поскольку я действительно ржавый с кодом и новый для ООП, я, похоже, не понимаю логики создания простая ссылка, в которой будут отображаться только продукты, относящиеся к этой категории. Приложение не является электронной коммерцией, оно просто извлекает данные из базы данных, отображает ее, когда пользователь нажимает на ссылку и записывает данные в таблицы продуктов и категорий. Интерфейс, который я пытаюсь сделать, - это способ отображения ссылок на продукты, когда пользователь нажимает на соответствующие категории. Единственная проблема заключается в том, что категории многоуровневые, и там, где я полностью застреваю, понятия не имею, как передать переменную, или вытащить соответствующий оператор выбора. Моя проблема: я просматривал и пытался посмотреть примеры, показывающие, как отображать списки продуктов, и ни один из них не относится к многоуровневым подкатегориям. Мне нужно добавить URL-адрес, где ссылка - это категория, связанная с этим продуктом. У меня две простые таблицы и динамическое меню.Показать продукты из определенной категории в многоуровневой категории приложения php mysql pdo oop
--
-- Table structure for table `products1`
--
CREATE TABLE IF NOT EXISTS `products1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`description` text NOT NULL,
`price` int(11) NOT NULL,
`category_id` int(11) NOT NULL,
`created` datetime NOT NULL,
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
--
-- Table structure for table `menu`
--
CREATE TABLE IF NOT EXISTS `menu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 NOT NULL,
`parent_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=136 ;
Меню таблицы - это всего лишь способ связать родительские категории с их братьями и сестрами. Поскольку у меня более 103 категорий, все связанные друг с другом по их родительскому id, я понятия не имею, как написать логику для отображения активной категории в меню. Моя логика ошибочна. Не могу понять, какое сравнение мне нужно сделать, код шляпы нужно сделать, чтобы передать правильный идентификатор категории, в зависимости от того, где находится активный тег Li.
Это меню, созданное этой таблицей.
<?php
$items = $rows;
$id = '';
echo '<ul class="dl-menu">';
foreach($items as $item){
if($item['parent_id'] == 0) {
echo '<li><a href="?category=<?php echo $category->id?>">'. $item['name'] . '</a>';
$id = $item['id'];
sub($items, $id);
echo '</li>';
}
}
echo "</ul>";
function sub($items, $id){
echo '<ul class="dl-submenu">';
foreach($items as $item){
if($item['parent_id'] == $id) {
echo '<li><a href="?category=<?php echo $category->id?>">'. $item['name'] . '</a>';
// $id = $item['id'];
sub($items, $item['id']);
echo '</li>';
}
}
echo '</ul>';
}
?>
Моя проблема связана с линией кода, которая перекликается с идентификатором категории. Я понятия не имею, какой сценарий мне нужен для вывода, я имею в виду логику, которую мне нужно сравнить, чтобы получить этот результат.
Хорошо, проблема в том, что сценарий, который тянет категории, это то, что мне нужно ... и, похоже, не понимает, как это сделать. Спасибо за проверку синтаксиса. Что я должен сделать, сравните, чтобы вытащить категории и продукты, принадлежащие им. Фактический код, поскольку я не понимаю, как его написать. Я много учился и читал. @ gabe3886 – OutletSeason