[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по всем полям табляци
vilins
Люди добрые работа встала еделю уже не могу сделать поиск в таблицы по всем полям. Делал индекс фултекс по всем полям запрос вроде правельный делаю но результат запроса нуль. Помогте пожалуйсто.
SELECT *
FROM `zakaz`
WHERE MATCH (
n_zak
)
AGAINST (
'2\123355'
)
LIMIT 0 , 30


$link = mysql_connect($host,$dbuser,$dbpass) or die("Îøèáêà îòêðûòèÿ áàçû äàííûõ");
mysql_select_db($dbmane) or die("Îøáêà îòêðûòèÿ ÁÄ");
$query="select * from zakaz WHERE MATCH (n_zak) AGAINST ('2\123355')";
$result = mysql_query($query) or die ('Îøèáêà çàïðîñà');



Спустя 8 часов, 18 минут, 27 секунд (11.12.2008 - 16:03) lemlem1 написал(а):
Полнотекстовый поиск следует использовать только для полей varchar или text с ТЕКСТОМ. Механизм этого full text индекса такой, что он создаёт нормализованную таблицу слов из текстовых полей, попадут ли туда цифры, слова короче 3 символов и спец-символы - я сомневаюсь, точные ответ в мауалах. Скорее всего ваше "2/123355" в индекс full text не будет добавлено.

Вообще, я так понимаю, у вас есть таблица с заказами и у каждого заказа есть его номер, вида "x/yyyy...". Использовать фул текст в таком случае в корне неверно. Сделайте primary или unique индекс по этому полю и задача будет решена.

А вообще, таблицу в студию.

Спустя 15 часов, 10 секунд (12.12.2008 - 07:03) vilins написал(а):
Здрасте благодарю за отклик.
Вот структура таблицы:
REATE TABLE `zakaz` (
`id` int(11) NOT NULL auto_increment,
`n_zak` varchar(20) NOT NULL,
`zakazchik` varchar(250) NOT NULL,
`ul` varchar(200) NOT NULL,
`home` varchar(5) NOT NULL,
`kv` varchar(5) NOT NULL,
`kont` varchar(250) NOT NULL,
`mont` varchar(150) NOT NULL,
`demont` varchar(150) NOT NULL,
`dost` varchar(150) NOT NULL,
`oplata` varchar(150) NOT NULL,
`kolokon` int(5) NOT NULL,
`brig` varchar(200) NOT NULL,
`data` date default NULL,
`brigm` varchar(200) NOT NULL,
`zamer` varchar(200) NOT NULL,
`koment` varchar(500) NOT NULL,
`stat` varchar(15) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `mont` (`mont`,`demont`),
FULLTEXT KEY `qwe` (`n_zak`)
) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=26 ;

--
-- Дамп данных таблицы `zakaz`
--

INSERT INTO `zakaz` VALUES (1, '2\\123355', 'Ильин В.С.', 'Брестская', '5', '182', 'к.т: 24-18-63', 'Есть', 'Есть', 'Есть', '100%', 2, 'Петров', '2008-11-03', 'Петечкин', 'Ельцин', 'Блатttrtytryrty\r\n\\', 'Готово');
INSERT INTO `zakaz` VALUES (23, '2\\\\\\\\123', 'Петров', 'Гая', '12', '142', 'dfg', 'Есть', 'Есть', 'Есть', '100', 4, 'Крячко', '2008-12-09', 'Петечкин', 'Ельцин', 'fdgdfgfdg', 'Не готово');
INSERT INTO `zakaz` VALUES (20, '2\\13241234', 'Симоненко', 'Гая', '45', '435', 'fdg', 'Есть', 'Есть', 'Есть', '4', 4, 'Крячко', '2008-12-08', 'Петечкин', 'Ельцин', 'fdg', 'Не готово');
INSERT INTO `zakaz` VALUES (18, '2\\\\321', 'Пупкина В', 'Гаяр', '321', '14', 'Привет нетвыа контактов', 'Нету', 'Есть', 'Есть', 'Кредит', 1, 'Крячко', '2008-11-02', 'Петечкин', 'Ельцин', 'трям трямвыаыва', 'Готово');
INSERT INTO `zakaz` VALUES (25, '2\\13241234', 'Симоненко', 'Гаяр', '3', '41', 'ыпвапаып', 'Нету', 'Нету', 'Самовывоз', '100', 4, 'Крячко', '2008-12-02', 'Петечкин', 'Ельцин', '', 'Не готово');




Делаю такой запрос результат всеравно "0"

SELECT *
FROM `zakaz`
WHERE MATCH (
mont, demont
)
AGAINST (
'Есть'
)
LIMIT 0 , 30

Мне надо организовать такой поиск что бы пользователь ввел 1 слово а искалось оно во всех полях


_____________
Быстрый ответ:

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