|
|
|
| Здравствуйте.
в базе записаны номер типа 0 111 222 333
или 1111-2222
или 3333 1111 A
Не пойму как сделать поиск по базе учитывая то, человек в поле может ввести числа без пробелов и может ввести номер не до конца.
Пробовал FULLTEXT но по числам он не ищет, есть еще какой вариант? или использовать регулярные выражения? | |
|
|
|
|
|
|
|
для: gOFREe
(05.07.2009 в 00:17)
| | нормализовывать номера как перед помещением в БД так и перед поиском в ней.
нормализовывать - приводить к единому (нормальному) виду.
Вспоминайте школу. | |
|
|
|
|
|
|
|
для: Trianon
(05.07.2009 в 00:21)
| | Дык людей не поймешь как им захочется в строке поиска его вбить. | |
|
|
|
|
|
|
|
для: gOFREe
(05.07.2009 в 00:24)
| | Вот именно. А Вы приводите к единому виду.
Убирайте пробелы и прочие разделители, меняйте буквы на заглавные и т.п.
Нормальные формы можно сравнивать между собой. | |
|
|
|
|
|
|
|
для: gOFREe
(05.07.2009 в 00:24)
| | Приводите к какому то стандартному виду и предлагайте для редактирования | |
|
|
|
|
|
|
|
для: Trianon
(05.07.2009 в 00:21)
| | ... убирать все не относящиеся к номеру символы - скобки, пробелы и т.п. Только цифры. Вещь вроде ясная и понятная, но в базе, куда пишу не только я. вижу черте что...
Либо приводить к стандартному для России коду 8(123)-456-7890 или +7(123)-4567890. Я пишу в базу только цифры с кодом страны и города. Остальное можно дополнить при форматированном выводе. | |
|
|
|
|
|
|
|
для: GeorgeIV
(05.07.2009 в 00:31)
| | Хм... в принципе можно делать записи без пробелов, и при поиске пользователя убирать пробелы... сейчас подумаю... спасибо! | |
|
|
|
|
|
|
|
для: gOFREe
(05.07.2009 в 00:37)
| | Судя по синхронному ответу с Trianon, вопрос с телефонными номерами - вещь достаточно распространенная и разжеваннная, стоит только немного подумать. | |
|
|
|
|
|
|
|
для: GeorgeIV
(05.07.2009 в 00:49)
| | Да, только я имел ввиду не телефонные номера | |
|
|
|