AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


> Внимание!

В данном форуме под "Разным" подразумевается всё что относится к AntiSlaed CMS но не входит по логике в другие форумы категории AntiSlaed CMS. Создание тем которые должны быть в форуме "Флейм" или др. ЗАПРЕЩЕНО!

 
Ответить в данную темуНачать новую тему
> Вопрос на счет поиска, HELP
street
сообщение Jul 8 2011, 22:31
Сообщение #1


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 40
Регистрация:
1.5.2008
Пользователь №: 3,547
Спасибо сказали: 0

Вставить ник




Люди кто знает как сделать поиск стандартный без учета регистра?????
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Jul 9 2011, 10:21
Сообщение #2


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Я знаю. Тебя какой конкретно участок кода интересует?
Запрос к БД? Если да, то используя LIKE '%ТвоЙ тЕкСт%'
все равно что LIKE '%твой текст%'
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Sunvas
сообщение Jul 9 2011, 16:45
Сообщение #3


Фэнат Stamina-ы
Иконка группы

Группа: Разработчики
Сообщений: 2,470
Регистрация:
6.7.2007
Из: (-: Украина :-)
Пользователь №: 268
Спасибо сказали: 992

Вставить ник




street
будет ли учитываться регистр, опреляется кодировкой поля. Если кодировка заканчивается на "_ci" (Case Insensitive) - регистр символов не будет учитываться. Если же поставить "_cs" (Case Sensitive) - регистр символов БУДЕТ учитываться.
Sunvas, Вас 1 раз(а) поблагодарили за это сообщение:
vitalik1972
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
street
сообщение Jul 10 2011, 02:53
Сообщение #4


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 40
Регистрация:
1.5.2008
Пользователь №: 3,547
Спасибо сказали: 0

Вставить ник




по ответу sunvas ничего не понял(((( меня интерисует когда в форму ввода искомого текста вводишь текст, он искал все без учата регистра.... сейчас если название новости с большой а искать его с маленькой, он не ищет....
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Jul 10 2011, 17:20
Сообщение #5


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Санвас тебе очень четко ответил. Посмотри кодировку полей в своих таблицах, по которым делается поиск
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
street
сообщение Jul 11 2011, 01:18
Сообщение #6


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 40
Регистрация:
1.5.2008
Пользователь №: 3,547
Спасибо сказали: 0

Вставить ник




стоит cp1251_general_ci
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
wizard993
сообщение Jul 11 2011, 08:29
Сообщение #7


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 68
Регистрация:
29.1.2008
Из: Кубинка-8
Пользователь №: 2,152
Спасибо сказали: 10

Вставить ник




street ну так Sunvas и написал тебе...
ЦИТАТА(Sunvas @ Jul 9 2011, 16:45 ) *
Если кодировка заканчивается на "_ci" (Case Insensitive) - регистр символов не будет учитываться. Если же поставить "_cs" (Case Sensitive) - регистр символов БУДЕТ учитываться.


У тебя суффикс _ci, следовательно регистр символов не будет учитываться... Куда уж понятнее...
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
street
сообщение Jul 11 2011, 11:35
Сообщение #8


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 40
Регистрация:
1.5.2008
Пользователь №: 3,547
Спасибо сказали: 0

Вставить ник




так втом то и дело что не должен учитыватся, а он учитуется..
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
RedRabbit
сообщение Jul 17 2011, 12:33
Сообщение #9


Я только смотрю...
Иконка группы

Группа: Пользователи

Сообщений: 3
Регистрация:
17.7.2011
Пользователь №: 11,190
Спасибо сказали: 0

Вставить ник




Мда. Вот так и выростает поколение программистов, которые сидят на шиндошсе и не читают мануалы. Приставка _ci не делает регистровых различий внутри данных, а то, что приходит в строке поиска - не внутренние данные, если что.
Решается одним запросом, просто приводя весь текст к единому регистру, в данном случае - к нижнему.

Native SQL
КОД
SELECT field FROM table_name WHERE LOWER(field) like '%Текст%'


PHP
КОД
$query = "SELECT * FROM table_name WHERE LOWER(name) LIKE "%".strtolower($name)."%" ";
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
street
сообщение Jul 21 2011, 19:45
Сообщение #10


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 40
Регистрация:
1.5.2008
Пользователь №: 3,547
Спасибо сказали: 0

Вставить ник




помогите переделать запрос, что бы он не учитывал регист

КОД
$result = $db->sql_query("SELECT s.sid, s.name, s.title, s.time, s.hometext, s.bodytext, c.id, c.title, u.user_name FROM ".$prefix."_stories AS s LEFT JOIN ".$prefix."_categories AS c ON (s.catid=c.id) LEFT JOIN ".$prefix."_users AS u ON (s.uid=u.user_id) WHERE s.time <= now() AND s.status!='0' AND (s.title LIKE '%".$word."%' OR s.hometext LIKE '%".$word."%' OR s.bodytext LIKE '%".$word."%') ORDER BY s.time DESC");
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
street
сообщение Aug 27 2011, 08:20
Сообщение #11


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 40
Регистрация:
1.5.2008
Пользователь №: 3,547
Спасибо сказали: 0

Вставить ник




вобщем все что было посоветовано не подходит..... точнее ищет без учета регистра только в самом контенте, в названих нет. Методом проб и ошибок нашел в чем запара. По умолчанию почему-то табилицы "title" имеют тип данных varbinary(версия системы 4.3.1 NEXT).
И так решение:
Идем в phpmyadmin-выбираем таблицу(например новостей(stories))- нажимаешм структура - нажимаем изменить(напротив title) и выбираем "Тип - TEXT" дальше ставим сравнение у кого как(utf8 или cp1251), но с окончанием _general_ci, пример "ваша кодировка_general_ci". Как ни странно поиск начал нормально искать в заголовках....=)))
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 20 May 2024 - 09:46
Хостинг предоставлен NetLevel.Ru   Eleanor CMS