Добрый день. Сижу бьюсь над задачей создания сложного дерева...
Суть такова:
Имеется четыре таблицы:
type
id int;name varchar(255);
view
id int; type_id int; name varchar(255);
country
id int; name varchar(255);
city
id int; country_id int; name varchar(255);
Необходимо создать дерево которое выводит следующем образом:
Тип 1 Вид 1 Страна 1 город1 ... городN Страна 2 город1 ... городN ... Страна N город1 ... городN ... Вид N(далее понятно) Тип 2 Вид 1 Страна 1 город1 ... городN Страна 2 город1 ... городN ... Страна N город1 ... городN ... Вид N(далее понятно) ... Тип N
И что бы список стран и городов был одинаковым для всех видов и типов.
Вначале я, пошел по легкому пути, сделал вывод только Тип -> Вид, следующем образом
таблица catalog_tree
id;parent_id;name;
и следующий код:
function ShowTree ($parent_id) { $sql = "SELECT `id`, `parent_id`, `name` FROM `catalog_tree` WHERE `parent_id` = $parent_id ORDER BY `id`"; $result = mysql_query($sql); if (mysql_num_rows($result) > 0) { echo '<ul>'; while ($row = mysql_fetch_array($result)) { echo '<li><a href="#id='.$row['id'].'">'.$row['name'].'</a></li>'; ShowTree ($row['id']); } echo '</ul>'; } }
Выводит впринципе как надо, потом я начал думать а как же теперь прикрутить страны и города, к данному дереву.
Решил Создать те 4 таблицы, которые описал выше, и написать функции для того что бы вытягивалось в массив данные следующем образом:
функция Тип {выполняется мускуль запрос для таблицы Type; создается массив через функцию mysql_fetch_array;}
функция Вид {выполняется мускуль запрос для таблицы View; создается массив через функцию mysql_fetch_array;}
функция Страна {выполняется мускуль запрос для таблицы Country; создается массив через функцию mysql_fetch_array;}
функция Город {выполняется мускуль запрос для таблицы City; создается массив через функцию mysql_fetch_array;}
и создается функция Tree но вот с ней я уже оканчательно запутался...
Не как не соображу как передавать переменные type_id, country_id. Ведь переменные в функциях действуют только в функциях...
Выход для меня был использовать глобальные переменные (типа global $var;) для функции, но везде пишут что это нельзя использовать, и к тому же на хостинге отключены глобальные переменные register_globals off. Или я что то путаю (переменная global $var; не есть глобальная функция в суперглобальном массиве $GLOBALS)?
В наличии книга Разработка Web-приложений с помощью PHP и MySQL //авторы:Л.Веллинг и Л.Томсон и www.php.su, www.php.ru/manual/
Прошу помощи, тыкать носом, в какую сторону думать?...
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
mario
Добрый день. Сижу бьюсь над задачей создания сложного дерева...
Суть такова:
Имеется четыре таблицы:
type
id int;name varchar(255);
view
id int; type_id int; name varchar(255);
country
id int; name varchar(255);
city
id int; country_id int; name varchar(255);
Необходимо создать дерево которое выводит следующем образом:
И что бы список стран и городов был одинаковым для всех видов и типов.
Вначале я, пошел по легкому пути, сделал вывод только Тип -> Вид, следующем образом
таблица catalog_tree
id;parent_id;name;
и следующий код:
Выводит впринципе как надо, потом я начал думать а как же теперь прикрутить страны и города, к данному дереву.
Решил Создать те 4 таблицы, которые описал выше, и написать функции для того что бы вытягивалось в массив данные следующем образом:
функция Тип {выполняется мускуль запрос для таблицы Type; создается массив через функцию mysql_fetch_array;}
функция Вид {выполняется мускуль запрос для таблицы View; создается массив через функцию mysql_fetch_array;}
функция Страна {выполняется мускуль запрос для таблицы Country; создается массив через функцию mysql_fetch_array;}
функция Город {выполняется мускуль запрос для таблицы City; создается массив через функцию mysql_fetch_array;}
и создается функция Tree но вот с ней я уже оканчательно запутался...
Не как не соображу как передавать переменные type_id, country_id. Ведь переменные в функциях действуют только в функциях...
Выход для меня был использовать глобальные переменные (типа global $var;) для функции, но везде пишут что это нельзя использовать, и к тому же на хостинге отключены глобальные переменные register_globals off. Или я что то путаю (переменная global $var; не есть глобальная функция в суперглобальном массиве $GLOBALS)?
В наличии книга Разработка Web-приложений с помощью PHP и MySQL //авторы:Л.Веллинг и Л.Томсон и www.php.su, www.php.ru/manual/
Прошу помощи, тыкать носом, в какую сторону думать?...
Link to comment
Share on other sites
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.