[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по меню на php
Yatop
Доброго времени суток, уважаемым профессионалам.


Делаю себе сайт на php. В качестве БД текстовые файлы.
Структура меню такая:
  • Рубрика 1
    • раздел 1.1
      • подраздел 1.1.1
      • подраздел 1.1.2
      • подраздел 1.1.3
    • раздел 1.2
      • подраздел 1.2.1
      • подраздел 1.2.2
  • Рубрика 2
    • раздел 2.1
      • подраздел 2.1.1
    • раздел 2.2
      • подраздел 2.2.1
  • Рубрика 3
    • раздел 3.1
    • раздел 3.2
    • раздел 3.2

и т.д.

Сейчас у сайта 80 страниц, но количество постепенно растет.

Вопрос у меня следующий:
Лучше в один текстовый файл (в БД) записывать все рубрики, разделы, подразделы или лучше делать основной файл (с рубриками), и отдельные файлы на каждый раздел и подраздел?

Лучше с точки зрения быстрой загрузки сайта, уменьшения ошибок и остальных прелестей.


Спасибо !



Спустя 2 часа, 59 минут, 34 секунды (3.09.2011 - 21:36) Ilya1990 написал(а):
не знаю как что ну я бы использовал нормальную бд sql сделал бы две таблички и не парился... в первой разделы во второй подразделы...потом что бы никто лишний раз ненароком ниче не изменил...везде пароли...ну это мое мнение

Спустя 5 минут, 7 секунд (3.09.2011 - 21:41) Yatop написал(а):
Спасибо за ответ!

sql - это классно, насколько я в этом не понимаю, но я не профи. Я делаю сайт для себя. Основы php поняла за месяц и сделала сайт. Мускул и прочие БД - темный лес для меня smile.gif

А с текстовыми файлами всё элементарно, по крайней мере я разобралась.

Но поскольку знаний не хватает, возник вопрос, как лучше сделать в одном большом файле или в нескольких, но меньше размером.

Проходить по строкам будет быстрее в разных файлах, а вот считывать, по идее, лучше из одного - меньше обращений.
Хотя, я могу и чего-то недопонимать.

Спустя 9 минут, 59 секунд (3.09.2011 - 21:51) Ilya1990 написал(а):
я сам новичок вот как я вижк проблему...ну в одном лучше...а скрипт все равно один и тоже примерно...как я понимаю кроме просто списка надо еще в файл прописать id_раздела(ключ) и как то обозначить что это раздел и потом для подразделов Id_подраздела + Id_раздела что понять что это подраздел и какому разделу принадлежит...по этому я бы разобрался с SQL...phpmyadmin очень простой я за день разобрался...а при написание запросов уже в скрипте гугл те все расскажет там не сложно

Спустя 3 минуты, 14 секунд (3.09.2011 - 21:54) Yatop написал(а):
Спасибо еще раз, но на субд перейти пока не готова.

Как код написать и выборку сделать по разделам, подразделам и т.д., я знаю в обоих случаях (и нескольких файлов, и одного - со всеми разделами и подразделами).

Но вопрос остался smile.gif Как сделать лучше: всё в единый файл или в несколько?

Спустя 10 минут, 59 секунд (3.09.2011 - 22:05) Ilya1990 написал(а):
одним

Спустя 1 минута, 54 секунды (3.09.2011 - 22:07) Yatop написал(а):
спасибо!

А почему скажете, чтобы я на будущее знала?

Спустя 10 минут, 15 секунд (3.09.2011 - 22:17) neadekvat написал(а):
Хм, как вариант, создать массив (под)категорий, сериализовать его, сохранить в файл. При выводе меню - десериализовывать данные из файла и выводить. В админке соответственно сделать управление этим массивом (т.е. восстанвливать из файла, редактировать, а потом в нужном формате сохранять в файл).

Вот два возможных вариата такого массива:
$menu = array(
// Массив начинается с первого индекса
1 => array(
'name' => 'Рубрика 1',
'href' => 'http://site.ru/rubric_1.html',
'parent' => 0 // Это корневой элемент
),

array(
'name' => 'раздел 1.1 ',
'href' => 'http://site.ru/rubric_1-1.html',
'parent' => 1 // Указываем предка
),
);


$menu = array(
array(
'name' => 'Рубрика 1',
'href' => 'http://site.ru/rubric_1.html',
'children' =>
array(
array(
'name' => 'раздел 1.1 ',
'href' => 'http://site.ru/rubric_1-1.html',
'children' => null; // Детей нет
)
)
),
);

При этом первый вариант - это по сути то, что получается при запросах к БД. И да, настоятельно рекомендую познакомится с СУБД, ибо даже твоя простая задача вызывает большие неудобства (посмотри на второй массив - глаза сломать можно), в то время как решение с помощью БД делает эту задачу вполне себе тривиальной.

Спустя 30 минут, 2 секунды (3.09.2011 - 22:47) Yatop написал(а):
Спасибо!

Займусь, конечно и субд. Когда руки дойдут, у меня еще основная работа есть и ребенок, а сайт ... так ... по ночам smile.gif

Спустя 2 часа, 2 минуты, 6 секунд (4.09.2011 - 00:49) neadekvat написал(а):
Yatop, поверь, это не так то и сложно. То есть я бы даже сказал, что просто, особенно на уровне простых запросов - делать нечего.

http://sql-ex.ru/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.