Искать в базе начало строки, без регулярки...

Safary

Новичок
Искать в базе начало строки, без регулярки...

Здрастье всем! :)
Вот не пойму как такие вещи делаются, например есть таблица структуры...
где ссылки есть.
Набирает юзер ссылку site.ru/photoshop/lessons/45/

Вот у меня в таблице "структура" есть такая запись:

id - 6
pid - 3
name - уроки
link - /photoshop/lessons

А в таблице уроков запись с номером урока:
id - 45
pid - 6
title - Создание волны
text - этот урок посвящен созданию реалистичной волны в фотошопе................

Вот с регуляркой знаю как, но регулярку не хочу использовать, нагрузка на сервер...
Как тут поступить? Выслушаю любые варианты, но мне бы мой как-нибудь осуществить, а вообще хочу понять как такие штуки делаются в CMS
 

findnext

Новичок
Safary
ты хоть сам понял что написал?

-~{}~ 27.04.09 23:14:

ты не понимаешь как формируется такая ссылка site.ru/photoshop/lessons/45/ ?
 

King

Новичок
Для таких ссылок обычно используется mod_rewrite Apache'а.

Потом Ваш запрос преобразуется, скажем, в index.php?f=photoshop&s=lessons&id=45.

Из этих данных Вы и генерируете страницу, подключая необходимые файлы.
 

Andre

Новичок
Можно уже сформированную структуру держать в памяти или ином кэше, не трогая базу, например, в массиве с уникальным ключом-ид категории (или чего там есть)

мод реврайтом вытаскивать параметр типа path=photoshop/lessons и по этому ключу.. например, вытаскивать из массива/объекта параметры для дальнейшей загрузки модулей.

в общем, как то так.. везде свои ньюансы, но это точно быстрее работает, чем выборка из базы.
 

Фанат

oncle terrible
Команда форума
вы, перед тем как отвечать, всю историю этого сложного вопроса читайте,
http://phpclub.ru/talk/search.php?searchuser=Safary&exactname=yes&forumchoice=-1&searchdate=-1&beforeafter=after&sortby=lastpost&sortorder=descending&action=simplesearch

Гражданин практически с нуля веб-программирование и SQL на нем изучает.
И в каждой теме точно так же к нему приходили такие советчики, каждый от фонаря вещал свое авторитетное мнение и в результате мы имеем винегрет в голове у аффтара и в его коде.
Но вы продолжайте, продолжайте. Как не поделиться с ближним сокровенным знанием.
 

Safary

Новичок
Всё, разобрался наконец-то.
Ф@нат, не серьёзно эта проблемма задолбала, по-разному пробывал решать =)

Вот у меня ещё одна проблемма, у меня в базе страницы хранятся, всё нормально было, пока слишком большая страница не попалась, 3 тыщи строк хтмл-кода...
Вот она полностью в базу не вставляется, как тут быть?
 

iceman

говнокодер
ты всю страницу в базе хранишь?
попробуй поставить на колонку в которой храниться большой текст тип LONGTEXT

и зачем хранишь link?
-~{}~ 28.04.09 15:50:

id - 6
pid - 3
name - уроки
link - /photoshop/lessons
я так понял эта таблица рубрик?

id - 45
pid - 6
title - Создание волны
text - этот урок посвящен созданию реалистичной волны в фотошопе................
что означает pid в первой таблице?
 

Safary

Новичок
pid - parent id
Это таблица всей структуры сайта, всех страниц, модов и т.д. =)
link храню, чтобы искать по нему, когда юзер вводит ссылку.
А ну да, как я сам про ЛонгТекст не догадался-то...
А вообще это нормально html в базе хранить или лучше всетаки в файлах, а в базе только ссылку категории и ссылку на файл?
 

dimagolov

Новичок
А вообще это нормально html в базе хранить или лучше всетаки в файлах, а в базе только ссылку категории и ссылку на файл?
вообще-то непонятно, что за html там у тебя... Но в общем случае, html это статика, которую web-сервер может отдать без php и mysql, так что зачем его хранить в базе непонятно.
 

Фанат

oncle terrible
Команда форума
dimagolov
статья это. котора встраивается в дизайн сайта. то есть, пхп ее все равно тягать будет.
 
Сверху