Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поиск для сайта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
xaser
Отправлено: 01 Июля, 2012 - 22:16:35
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Помогите составить поисковый запрос.

Нам нужно найти одно из значений поля "FD"

примеры значений поля :
"Sk-2"
"A-105s"
"KV-Y53A1"

(т.е. обязательно есть буква (или несколько), потом тире, за ним число, за ним в некоторых случаях буквы с цифрами)

как преобразовать введенный юзером код в поисковый?
Например:
- юзер вводит "sk2" или "sk 2" - находит "Sk-2"
- юзер вводит "a105s" или "a 105s", или "a 105 s", или "a-105S", - находит "A-105s"
 
 Top
DlTA
Отправлено: 01 Июля, 2012 - 22:19:56
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




http://www[dot]mysql[dot]ru/docs/man/Ful[dot][dot][dot]text_Search[dot]html
(Добавление)
или
WHERE `text` LIKE 'aaa%111%dddd'

тоесть преобразовать исходную введенную строку
например
sk2, sk 2, Sk-2 => sk%2

a105s, a 105s, a 105 s =>a%105%s
 
 Top
xaser
Отправлено: 02 Июля, 2012 - 10:08:54
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




это результата не дает почему-то... есть какой-то REGEXP, но я не могу (не умею) писать регулярку. Поможешь?
 
 Top
tuareg
Отправлено: 02 Июля, 2012 - 11:25:01
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Добавьте поле, в которое вносите название с вырезанными пробелами и т.д
Например
KV-Y53A1==>kvy53a1
Sk-2==>sk2
И т.д. Тогда юзер вводит KV Y53A1 мы переводим в нижний регистр и вырезаем пробелы и получаем KV Y53A1==>kvy53a1.
 
 Top
xaser
Отправлено: 02 Июля, 2012 - 11:38:46
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




ок... поиск теперь работает...

возникло еще затруднение Улыбка
нужно обрезать начальные нули числа (если юзер натупил)!
т.е. привести коды к такому:
юзер >>> правильный код
-------------------------------- ---
a0100 >>> a100
a0803 >>> a803
e001s >>> e1s

и т.д.

написал регулярку, но она режет что попало... ((
PHP:
скопировать код в буфер обмена
  1. $s_kod=preg_replace("/[a-zA-Z]([0]+)\d+/","",$s_kod);


(не дружат со мной рег.выражения)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB