Подсчет товара во всех категориях

Тема закрыта
237
.
OnLine Quest Game
Столкнулся с такой проблеммой.
В магазине реализовал создание категорий и подкатегорий с неограниченым уровнем вложенности.
конечная категория содержит товар,который находится в другой таблице.
Собственно сам вопрос.
Подскажите или напишите алгоритм или код как можно например с первой категории узнать количество товаров в подкатегориях.
.
Можно циклами, что очень глупо.
Я лично создавал столбец в таблице например path и заносил в него путь к папке, в ЗЦ JohnCMS вроде также сделано.
.
OnLine Quest Game
Windler (15.03.2012/06:53)
Можно циклами, что очень глупо.
Я лично создавал столбец в таблице например path и заносил в него путь к папке, в ЗЦ JohnCMS вроде также сделано.
Всмысле путь к папке? Да и добавление нового поля уже не желательно ибо есть категории и товара много
.
localhost (15.03.2012/06:55)
Всмысле путь к папке? Да и добавление нового поля уже не желательно ибо есть категории и товара много
Написания скрипта который обновит таблицу не составит труда. Файлы как хранятся? Напиши прям с корня путь примерный.
.
OnLine Quest Game
Windler (15.03.2012/07:03)
Написания скрипта который обновит таблицу не составит труда. Файлы как хранятся? Напиши прям с корня путь примерный.
Ты видимо не понял.
Это магазин,вот пример. в магазине есть разделы,они на главной,эти разделы ведут в подкаталоги,а те в свою очередь в еще одни подкаталоги и так далее.В конечном каталоге есть товары,описание и так далее этих товаров хранится в другой таблице.
Бесконечность каталогов и подкаталогов осуществляется за счет ид и рефид.
То есть каталог с ид 1 имеет подкаталоги с рефидом 1
.
Кадило крутится, лавэха мутится
Или циклом или создавать нормальную таблицу с учётом таких ньюансов.
.
точка невозврата
localhost, собсна, такие вещи обдумываются до создания структуры системы. Как записывать файлы, каталоги, как связывать друг с другом. Оптимальный вариант это когда вся нужная инфа изначально в таблице, так и быдлоциклов писать не надо, и одним запросом всё тащится. Мой совет - подгоняй поля.
.
OnLine Quest Game
В общем вот этот быдло код вывода каталогов
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE  `refid`='" .
					$id . "'"), 0);
				if ($count)
				{
					$req = mysql_query("SELECT * FROM `chop` WHERE `refid`='$id'");

					while ($res = mysql_fetch_array($req))
					{
						
                        
                        
						$t = mysql_fetch_assoc(mysql_query("SELECT * FROM `chop` WHERE `id`= '" .
							$res['id'] . "' LIMIT 1"));
					$ts = $t['type'];
						if ($ts == 'k')
						{
							$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
								$t['id'] . "'"), 0);
						}
						else
						{
							$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
								$res['id'] . "'"), 0);
						}



						echo '<a class="menu" href="index.php?id=' . $res['id'] . '"><img src="/images/dir.png" alt="*"/> ' . checkout($res['name'],
							1, 1) . ' [' . $count . ']</a>';
						if ($rights >= 7)
							if ($rights >= 7)
					echo '<a class="delete" href="submit.php?id='.$res['id'] .'">X</a>';
						if (!empty($res['opis']))
						{
							$text = $res['opis'];
							$text = mb_substr($text, 0, 100);
							$text = checkout($text, 1, 1);
							#echo '<div class="sub"><span class="gray">' . $text .
							#	'</span></div>';
						}
						
						++$i;
					}
				}
				else
				{
					echo '<div class="list">Каталог пуст</div>';
				}

Перепишите пожалуйста,пусть даже и с быдло циклами,мне важен сам алгоритм посмотреть
.
chop = отбивная.
.
OnLine Quest Game
Windler (15.03.2012/07:50)
chop = отбивная.
ага
Всего: 12