Тема: Не можу зрозуміти чому не працює запит до БД.
Привіт.
Вирішив написати у навчальних цілях скрипт виводу категорій і субкатегорій необмеженої вкладеності.
Ніби все просто, але...
Одним словом, щось не так з запитом до mysql або з само функцією(хоча коли забрати запит і поставити щось інше то все працює)
При запуску скрипта, виводить тільки головні категорії, а субкатегорії нехоче.
Сам скрипт:
P.S: за форматування коду та назви змінних не судіть, оскільки код писав на скору руку.
<html>
<head>
<meta charset="utf8"/>
</head>
<body>
<?php
ini_set('display_errors',1);
$db = new mysqli('localhost','root','','testDB') or die(mysql_errno());
$db->query("SET NAMES utf8");
$primeCategory = $db->query("SELECT * FROM category WHERE home_category = 0");
function subCategory($idCategory)
{
$subCat = $db->query("SELECT * FROM category WHERE home_category = ".$idCategory."");
if($subCat->num_rows == 0)
return 0;
for($i2 = 0; $i2 < $subCat->num_rows; $i2++)
{
$str1 = $subCat->fetch_object();
echo $str1->name.'<br>';
}
//echo subCategory($idCategory+1);
}
for($i = 0; $i < $primeCategory->num_rows; $i++)
{
$str = $primeCategory->fetch_object();
echo $str->name.'<br>';
echo subCategory($str->id);
}
?>
</body>
</html>
SQL:
CREATE TABLE IF NOT EXISTS `category` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`home_category` int(2) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Дамп даних таблиці `category`
--
INSERT INTO `category` (`id`, `name`, `description`, `home_category`) VALUES
(1, 'Програмування', 'Збірка сайтів і блогів які присв`ячені програмуванню', 0),
(2, 'PHP', 'Для php програмістів', 1),
(3, 'Фреймворки', 'Фреймворки', 2);