Как лучше всего сделать быстрый поиск и короткие ссылки?

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.527
Реакции
121
1 вопрос:
Есть несколько модулей, в разных таблицах базы. Необходимо сделать форму поиска, где вводится ID и модуль.
Какие варианты я вижу:
1. Добавить в каждый модуль код, который бы добавлял в общую таблицу запись с уникальным ID: название модуля и ID объявления. А поиск происходил по этой таблице.
2. В форме поиска сделать выбор модуля (выпадающий список), поле для ID. При поиске эти данные отдаются обычному скрипту модуля и выводится статья.
3. Ваш вариант...
Помогите, как лучше всего сделать это с точки зрения правильности и оптимальности для кода и пользователя?

2 вопрос:
Как можно сделать короткие и легко запоминающиеся ссылки (цифрами по ID) на все статьи всех модулей?
 
Ничего не понял... можно конкретики..

Есть несколько модулей, в разных таблицах базы
Что в данном случае Вы называете "модулем"?

1. Добавить в каждый модуль код, который бы добавлял в общую таблицу запись с уникальным ID: название модуля и ID объявления. А поиск происходил по этой таблице.

добавлял в общую таблицу запись с уникальным ID...
А разве у вас в таблицах нет у записи поля ID или что-то похожего?

2. В форме поиска сделать выбор модуля (выпадающий список), поле для ID. При поиске эти данные отдаются обычному скрипту модуля и выводится статья.
"Вапще" ничего не понял... кому отдаются? Есть ещё и "не обычные" скрипты? и опять модуля?


2 вопрос:
Как можно сделать короткие и легко запоминающиеся ссылки (цифрами по ID) на все статьи всех модулей?

В принципе тут не сложно... просто нужно знать как вы будете получать эти ссылки... как работают скрипы...
Можно просто указать в .htaccess что-то вроде "RewriteRule ^post-(.*)$ /showpost.php?post=$1"
потом получать его в виде $_GET['post']
 
Модули разные, это значит разные, например, статьи, новости, файлы, фото и т.п.
В быстром поиске выбор названия модуля. Т.е. пользователь выбирает из выпадающего списка, например, искать в статьях и вводит ID не статьи, а общий ID (уникальный ID среди всех модулей).
 
Есть несколько модулей, в разных таблицах базы.
Вот это мне не понятно...
тоесть у Вас модули со своими таблицами?
Или Вы храните названия модулей в разных таблицах? или что?

Если есть таблица, где у Вас хранятся названия "проинсталенных" модулей, то никто не мешает туда воткнуть поле id например...

Код:
DROP TABLE IF EXISTS `tab_modules`;
CREATE TABLE IF NOT EXISTS `tab_modules` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `installed` tinyint(4) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `name` (`name`),
  KEY `installed` (`installed`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Далее просто делать выборку и раскладывать в select
Получать значение (id) и смотреть что это...
 
Назад
Сверху