Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Nebiros
33 / 33 / 16
Регистрация: 23.03.2010
Сообщений: 2,079
1

раскладка категорий из текстового файла

09.12.2011, 17:51. Просмотров 719. Ответов 5
Метки нет (Все метки)

в текстовом файле записи выглядят примерно так

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>основная категория
    все
    >подкатегория
        все
        >подкатегория этой подкатегории
            все
            какойто товар 1
        какойто товар 1
        какойто товар 2
        какойто товар 3
        какойто товар 4
        >подкатегория этой подкатегории
            все
            какойто товар 1
            какойто товар 2
            >подкатегория этой подкатегории
                все
                какойто товар 1
отделены они переносом каретки и табами, и вот вопросы

1) при чтении файла
PHP
1
2
3
4
5
6
7
8
$cat="";
$f=fopen("file.txt","r");
while(!feof($f)){
  $catt=fgets($f);
  $cat=$catt."".$cat;
  }
fclose($f);
echo $cat;
текст получается как задом на перед ( тоесть первая категория стоит в конце а последняя в начале)

2) Как грамотней построить таблицу в базе и записать в нее категории чтобы они лежали в ней и указывалось кто к кому подчиняется чтобы при запросе можно было построить меню (<ul><li><input type="checkbox"> и тд) ?

P.s. - категорий больше 3000 и вложенность доходит до 5 ступени...

Добавлено через 8 минут
с первым вопросом разобрался, всегото переменные нужно было поменять $cat=$catt."".$cat; на $cat=$cat."".$catt; , а вот второй вопрос пока в силе, не приходит пока в голову как это сделать по проще и компактнее...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 17:51
Ответы с готовыми решениями:

Замена слов одного текстового файла словами из другого текстового файла
Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены...

Добавить в конец первого текстового файла содержимое второго текстового файла
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

Попиксельная раскладка фото-файла
Здравствуйте, уважаемые специалисты по экселю. Помогите решить проблему. Есть макрос, который...

Раскладка поля из файла и перенос в таблицу в БД
Доброго времени суток. Хочу реализовать чтобы в access загружался файл но необходимо чтобы из...

5
__PION__
959 / 800 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
09.12.2011, 17:59 2
Nebiros, через родительский id, и вложенность можешь делать до бесконечности. в чем трудность?

Добавлено через 1 минуту
Nebiros, встречный вопрос, а как ты добавляешь знак > в файл автоматом?
1
Nebiros
33 / 33 / 16
Регистрация: 23.03.2010
Сообщений: 2,079
09.12.2011, 18:06  [ТС] 3
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Nebiros, встречный вопрос, а как ты добавляешь знак > в файл автоматом?
не я этот файл делал...
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Nebiros, через родительский id, и вложенность можешь делать до бесконечности. в чем трудность?
непонял на счет ид, загнать то в базу я загоню но как кодом обьяснить что к чему подчиняется?
0
__PION__
959 / 800 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
09.12.2011, 18:15 4
Цитата Сообщение от Nebiros Посмотреть сообщение
непонял на счет ид, загнать то в базу я загоню но как кодом обьяснить что к чему подчиняется?
ну как, делаешь в таблице 2 поля связанных, напр., - id и id_parent (по умолчанию допустим это поле имеет значение -1), в id как понимаешь текущий идентификатор, а в id_parent id той записи, которая выступает родителем для текущей.

id | id_parent
-------------
1 | -1
2 | 1
3 | -1
4 | -1
5 | 3
6 | 3
......
а выводить рекурсией получается.

Если сам не разберешься или никто не поможет, потом дома да ф-ю
1
Nebiros
33 / 33 / 16
Регистрация: 23.03.2010
Сообщений: 2,079
09.12.2011, 18:32  [ТС] 5
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
ну как, делаешь в таблице 2 поля связанных, напр., - id и id_parent (по умолчанию допустим это поле имеет значение -1), в id как понимаешь текущий идентификатор, а в id_parent id той записи, которая выступает родителем для текущей.
смысл понял, осталось только только это перенести в базу, как я понял нужно считать сколько табов - если на один больше значит это подкатегория или както так, еще точно не сделал но ход мыслей вроде уловил, поправьте если я неправильно думаю...
0
__PION__
959 / 800 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
09.12.2011, 19:41 6
Цитата Сообщение от Nebiros Посмотреть сообщение
как я понял нужно считать сколько табов - если на один больше значит это подкатегория или както так
при выводе да, можно так сделать, но тег <ul> автоматов сдвигает текущую позицию.
Вот ф-я
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function GetCategoryTree($dbTable, $parent_id, $level = null) 
{
   $level++;
    
   $query = "SELECT * FROM $dbTable WHERE parent_id = $parent_id";
   $result = mysql_query($query);
    
   if (mysql_num_rows($result) > 0) 
   {
    echo "<ul>";
    while ($row = mysql_fetch_array($result)) 
        {
        $id = $row["id"];
        echo "<li>";
            // тута имя поля [B]name[/B] может не совпадать с твоей таблицей. Будь внимателен
        echo $row['name'];
 
        GetCategoryTree($id, $level);
        $level--;
    }
    echo "</ul>";
    }
 
}
и так вызываем
PHP
1
2
// -1 берется по умолчанию, т.е., это самый главный родитель. в предыдущем посте я писал об этом
GetCategoryTree('Имя таблицы', -1);
я эту ф-ю обычно использую для построения вложенных меню
1
09.12.2011, 19:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 19:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Получение количества товара к каждой из категорий с учетом дочерних категорий
Здравствуйте... у меня есть список категорий в таблице mod_catalog_cat типичные колонки:...

Чтение из одного текстового файла и копирование на другой текстового файл с заменой пробелов на "_"
Здравствуйте, помогите пожалуйста с паскалем. Надо прочитать текстовый файл (в нем строки с именами...

Чтение из одного текстового файла и копирование на другой текстового файл с заменой пробелов на "_"
Здравствуйте, помогите пожалуйста с паскалем. Надо прочитать текстовый файл (в нем строки с именами...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.