Поиск по телефону

zanzaz

Guest
Поиск по телефону

Всем Здрасти..
Столкнулся с проблемой поиска по телефону номера в базе.
Т.е. ситуация следующая:
в базу могут заносятся телефоны в видах:
-- +7(095)123-4597
-- 8 095 123-4597
-- 8-095-123-45-97
и т.д далее..

вопрос в следующем, как правильнее всего
произвести поиск по базе, если пользователь может в поиске вводит номер как:
-- 123-4567
-- 1234567
-- 79051234567
и т.п.

я пробовал через вычисление степени похожести двух строк similar_text(), но это не то, т.к. в базе очень много телефонов и это будет не очень уместно каждый раз загонять весь список в массив и по очереди проверять каждую часть.. да и не совсем точные результаты получаются :(

если кто сталкивался с такой проблемой или знает, как ее решить, пожалуйста, откликнетесь..

Спасибо
С уважением, Константин
 

wizard

Новичок
Re: Поиск по телефону

стандартизируй номера при заносе в базу.
приведи их к одному виду.
номера, которые ищет пользователь -приводи к такому же виду и ищи по базе
 

zanzaz

Guest
Re: Re: Поиск по телефону

Originally posted by wizard
стандартизируй номера при заносе в базу.
приведи их к одному виду.
номера, которые ищет пользователь -приводи к такому же виду и ищи по базе
уже невозможно это сделать :(
нужно было раньше думать.. я тоже хотел так сделать, но когда посчитал сколько записей, решил не рисковать..

ведь должен быть другой способ..
например, (не знаю, есть в мускуле такое или нет)..
искать только по цифрам.. т.е. урезать все символы типа ()-+ и т.д. и производить поиск только по ним..

пробовал делать поиск как : %1%2%3%4%5%6%7 или _1_2_3_4_5_6_7_, честно, такая бредятина получается.. похожее мало когда появляется )

я видел такую систему реализации, правдане смог достучаться до создателя такого кода..
 

zanzaz

Guest
Re: Re: Re: Re: Поиск по телефону

Автор оригинала: wizard
это возможно.
или у тебя скрипт закодирован энкодером? :)
я тож щас подумал и понял, что можно :) через preg это реализовать..

но вопрос остается незакрытым, мне все равно нужно понять, как можно реализовать такой поиск?

он возможен, своими глазами видел )), правда не помню на каком сайте.. (((
 

confguru

ExAdmin
Команда форума
zanzaz

Смотри что сказал wizard %-)
Дам намек - добавь доп поле в базу phone_temp1
переноси туда нормальные номера..
Пиши скрипт который сверяет номер с маской - анализирует
приводит к образцу и пишет туда.. - не прошедшие номера
как только все номера исправятся сделай update.
В форме регистрации и поиска сделай универсальную маску
+7-095-123-4597 и все.. не изобретай велосипед
 

zanzaz

Guest
Аха, понял )
Спасибо всем, кто отликнулся на мой топик.

Вопросов больше не имею
 
Сверху