Код: Выделить всё
categoryId categoryName parentCategory
men Men root
women Women root
shoes Shoes root
mensshirts Men's Shirts men
menspants Men's Pants men
mensjeans Men's Jeans men
mensvests Men's Vests men
womensshirts Women's Shirts women
womenpants Women's Pants women
Код: Выделить всё
function display_children($parent) {
global $connect;
$query = "SELECT categoryId, categoryName FROM categories WHERE parentCategory='$parent'";
$result = mysqli_query($connect,$query);
if ( $result === false ) {
printf("Query Error: %s\n", mysqli_error($connect));
exit();
}
echo "[list]";
while ($row = mysqli_fetch_assoc($result)) {
extract($row);
echo "[*]".$categoryName."";
display_children($categoryId);
}
echo "[/list]";
mysqli_close($connect);
}
display_children('root');
- Мужские
Мужские рубашки - Мужские брюки
- Мужские джинсы
- Мужские Жилеты
[*]Обувь
Рекурсивная функция не распечатывает остальные подкатегории, и я не знаю, почему. Мое тестирование/отладка подтвердило, что после того, как mensvests передается в качестве идентификатора категории в функцию, следующим переданным идентификатором категории являются женщины, которые должны найти последние подкатегории. Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/136 ... e-function
Мобильная версия