|
|
|
| Хочу создать поиск по товарам. Данные о товаре находятся в базе (MySQL). На html форме поле ввода и кнопка. Хочу данные передать в php-файл и там обработать, а не получается. Смотрел по форуму, нашел только это http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=18799&page=1 и то не помогло. | |
|
|
|
|
|
|
|
для: Worldmen
(07.11.2006 в 15:41)
| | Для создания поиска нужно в БазеДанных по товарам создать индексы на нужных полях (например, наименование и описание товара).
Далее написать скрипт, который будет обращаться к БД, искать в индексе и в случае совпадения генерировать ссылки на товар с описанием.
Прикрепляю к сообщению образец. | |
|
|
|
|
|
|
|
для: mishaMC
(07.11.2006 в 16:01)
| | Спасибо за скрирт. Сейчас редактирую под свою базу. Только вот в селекте
$query = mysql_query("SELECT id, nazvanie_tovara, opisanie, drugie_polya from table_with_tovar WHERE MATCH (opisanie_tovara_index, name_tovar_index) AGAINST ($_POST['zapros']) ORDER BY po_nujnomu polu");
|
я не встречался ни разу с AGAINST и WHERE MATCH - где отаком можно почитать?
Что такое - $_POST['zapros']
Шото работает, но пока не могу в нем разобраться.
Может че по проще можно. | |
|
|
|
|
|
|
|
для: Worldmen
(07.11.2006 в 19:25)
| | А посмотреть об этих функциях можно по официальной документации по MySQL (на русском языке), которую можно скачать с сайта http://www.mysql.com, а точный адрес страницы документации http://dev.mysql.com/doc/, она представлена в виде страниц HTML, так, что придется пользоваться обычным поиском. | |
|
|
|
|
|
|
|
для: ilyaILF
(07.11.2006 в 20:38)
| | Я так понял в выше написаны селект вставляется строка поиска ($_POST['zapros']).
У меня таблица
CREATE TABLE `tovar` (
`id` int(3) unsigned NOT NULL auto_increment,
`name` varchar(25) NOT NULL default '',
`img` varchar(70) default '',
`Infa` text,
`tiptov` varchar(50) default 'нет',
PRIMARY KEY (`id`),
KEY `id_2` (`id`),
KEY `tiptov` (`tiptov`),
FULLTEXT KEY `name_ind` (`name`)
) TYPE=MyISAM;
|
Можно пример на моей таблице. | |
|
|
|
|
|
|
|
для: Worldmen
(07.11.2006 в 21:30)
| | Примерный запрос по Вашей БД:
SELECT * from table tovar WHERE MATCH (name) AGAINST ('что-идем') ORDER BY po_nujnomu_polu
|
Помните, что индекс FULLTEXT создается не на всех типах полей. | |
|
|
|