Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
function generate_category_tree($parent_id = 0) {
$arr = array();
$sql = mysql_query('SELECT * FROM category WHERE parent_id="' . $parent_id . '"');
while($row = mysql_fetch_row($sql)) {
if(!empty($row)) {
$arr['id'] = $row['id'];
$arr['name'] = $row['name'];
$arr['sub_cats'] = generate_category_tree($row['id']);
}
return $arr;
}
}
Ако сортираш масива след това, няма ли да се получи това което желаеш ?embaka каза:явно не си разбрал какво искам, идеята е като се подаде една категория да връща всичко структурирано в един масив на всички вътрешни категории. това което е написано ще върне последните категории от най вътрешната подкатегория а може и да не върне нищо защото няма проверка дали има записи
embaka каза:явно не си разбрал какво искам, идеята е като се подаде една категория да връща всичко структурирано в един масив на всички вътрешни категории. това което е написано ще върне последните категории от най вътрешната подкатегория а може и да не върне нищо защото няма проверка дали има записи
Radko каза:embaka каза:явно не си разбрал какво искам, идеята е като се подаде една категория да връща всичко структурирано в един масив на всички вътрешни категории. това което е написано ще върне последните категории от най вътрешната подкатегория а може и да не върне нищо защото няма проверка дали има записи
Пробва ли го, преди да напишеш този коментар? Ще върне йерархична структура на всички категории в БДто, после много лесно можеш да си вземеш от масива каквото ти трябва подредено. И естествено че има проверка, ако не забелязваш.
В случай че не те удовлетворява напълно можеш да го модифицираш, ако трябва да добавиш още един параметър като ИД например, аз само ти показах принципа.
embaka каза:Radko каза:embaka каза:явно не си разбрал какво искам, идеята е като се подаде една категория да връща всичко структурирано в един масив на всички вътрешни категории. това което е написано ще върне последните категории от най вътрешната подкатегория а може и да не върне нищо защото няма проверка дали има записи
Пробва ли го, преди да напишеш този коментар? Ще върне йерархична структура на всички категории в БДто, после много лесно можеш да си вземеш от масива каквото ти трябва подредено. И естествено че има проверка, ако не забелязваш.
В случай че не те удовлетворява напълно можеш да го модифицираш, ако трябва да добавиш още един параметър като ИД например, аз само ти показах принципа.
ако последната заявка не върне резултат имаш проверка, да ама ретyрна ти е извън проверката което ще върне false, съответно ще се счупи, така че като ти кажа, че това не ми върши работа значи не ми върши, другото, което е че не трябва да взема един запис защото в подкатегорията може да има 20 подкатегории а не 1
Array
(
[0] => Array
(
[title] => cat1
[subcats] => Array
(
[0] => Array
(
[title] => subcat_cat1
[subcats] => Array
(
[0] => Array
(
[title] => sub_sub_cat1
[subcats] => Array
(
)
)
)
)
)
)
[1] => Array
(
[title] => cat2
[subcats] => Array
(
)
)
[2] => Array
(
[title] => cat3
[subcats] => Array
(
[0] => Array
(
[title] => subcat_cat3
[subcats] => Array
(
)
)
)
)
[3] => Array
(
[title] => cat4
[subcats] => Array
(
)
)
[4] => Array
(
[title] => cat5
[subcats] => Array
(
[0] => Array
(
[title] => subcat_cat5
[subcats] => Array
(
)
)
)
)
[5] => Array
(
[title] => cat6
[subcats] => Array
(
)
)
[6] => Array
(
[title] => cat7
[subcats] => Array
(
)
)
[7] => Array
(
[title] => cat8
[subcats] => Array
(
)
)
)
<?php
function structure_cat($category_id)
{
$category; //here will be stored the data for the category
$category = get_cat_data($category_id); // here we get all the information for a particular category
$query = 'SELECT category_id FROM categories WHERE parent_category = ' . $category->category_id;
if (mysql_num_rows($query) > 0)
{
$category->children = array();
foreach (mysql_fetch_array($query) as $child_id)
{
$category->children[] = structure_cat($child_id);
}
}
return $category;
}
function get_cat_data($category_id)
{
$category;
$query = 'SELECT * FROM categories WHERE category_id = ' . $category_id . ' LIMIT 1';
$category = mysql_fetch_object($query);
return $category;
}