Делаю себе сайт на php. В качестве БД текстовые файлы.
Структура меню такая:
- Рубрика 1
- раздел 1.1
- подраздел 1.1.1
- подраздел 1.1.2
- подраздел 1.1.3
- раздел 1.2
- подраздел 1.2.1
- подраздел 1.2.2
- раздел 1.1
- Рубрика 2
- раздел 2.1
- подраздел 2.1.1
- раздел 2.2
- подраздел 2.2.1
- раздел 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](http://phpforum.ru/html/emoticons/smile.gif)
А с текстовыми файлами всё элементарно, по крайней мере я разобралась.
Но поскольку знаний не хватает, возник вопрос, как лучше сделать в одном большом файле или в нескольких, но меньше размером.
Проходить по строкам будет быстрее в разных файлах, а вот считывать, по идее, лучше из одного - меньше обращений.
Хотя, я могу и чего-то недопонимать.
sql - это классно, насколько я в этом не понимаю, но я не профи. Я делаю сайт для себя. Основы php поняла за месяц и сделала сайт. Мускул и прочие БД - темный лес для меня
![smile.gif](http://phpforum.ru/html/emoticons/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](http://phpforum.ru/html/emoticons/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](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 часа, 2 минуты, 6 секунд (4.09.2011 - 00:49) neadekvat написал(а):
Yatop, поверь, это не так то и сложно. То есть я бы даже сказал, что просто, особенно на уровне простых запросов - делать нечего.
http://sql-ex.ru/
http://sql-ex.ru/