Извинявай, не съм разбрал правилно структурата на Датабазата!
Ето и решение на проблема:
Този код при твоята структура ще работи. Ако искаш да се повтаря докато има sub-sub-sub, то тогава преброй колко са тези subs на "дървото" и с 1 for ( $i = 1; $i <= $subs; $i++ ) {
повтори циклите, като при всеки следващ път $subID се заменя с ID-то на предишния sub ( категория ), и $i е subbr-то в таблицата!
}
Как да направиш $subID се заменя с ID-то на предишния sub, ми запазвай всеки 1 ID на SUB в 1 променлива ($predi6niqSub) и в края на врътването сложи $subID = $predi6niqSub
Би трябвало да се справиш!
П.П => Пример за взимане на предишна стойност имаш и в предния скрипт, там $g биваше взимана предишната стойност ( sub-, sub-sbu-, sub-sub-sbu ) и се повтаряше.
Ето и решение на проблема:
Код:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("selo") or die(mysql_error());
mysql_query('SET NAMES cp1251');
mysql_query('SET CHARACTER SET cp1251_general_ci');
$sql = mysql_query("SELECT * FROM `kategorii` WHERE `sub` = '0' ORDER BY `id` ASC ");
while ($assoc = mysql_fetch_array($sql, MYSQL_ASSOC)) {
$subID = $assoc['id'];
echo "Kategoriqta e: ".$assoc['ime']."<br />";
$sql = mysql_query("SELECT `sub` FROM `kategorii` WHERE `subbr` = '$subID' AND `sub` > '0'");
$subs = mysql_num_rows($sql);
$g = "sub-";
$sql = mysql_query("SELECT * FROM `kategorii` WHERE `subbr` = '$subID' AND `sub` = '1'");
while ($assoc = mysql_fetch_array($sql, MYSQL_ASSOC)) {
echo $g."kategoriqta e: ".$assoc['ime']."<br />";
$subID2 = $assoc['id'];
$sql2 = mysql_query("SELECT * FROM `kategorii` WHERE `subbr` = '$subID2' AND `sub` = '2'");
while ($assoc2 = mysql_fetch_array($sql2, MYSQL_ASSOC)) {
echo $g."sub-kategoriqta e: ".$assoc2['ime']."<br />";
}
echo "<hr />";
}
}
?>
Този код при твоята структура ще работи. Ако искаш да се повтаря докато има sub-sub-sub, то тогава преброй колко са тези subs на "дървото" и с 1 for ( $i = 1; $i <= $subs; $i++ ) {
повтори циклите, като при всеки следващ път $subID се заменя с ID-то на предишния sub ( категория ), и $i е subbr-то в таблицата!
}
Как да направиш $subID се заменя с ID-то на предишния sub, ми запазвай всеки 1 ID на SUB в 1 променлива ($predi6niqSub) и в края на врътването сложи $subID = $predi6niqSub
Би трябвало да се справиш!
П.П => Пример за взимане на предишна стойност имаш и в предния скрипт, там $g биваше взимана предишната стойност ( sub-, sub-sbu-, sub-sub-sbu ) и се повтаряше.