|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.11.2010, 16:21 | #1 |
Пользователь
Регистрация: 24.05.2008
Сообщений: 31
|
Необходимо создать условие поиска кода города по номеру телефона по mysql на php
Всем доброго времени суток!
Помогите плиз со следующей задачей: Существует база данных MYSQL, написан скрипт поиска по этой базе. В базе содержатся следующие поля таблицы tarif: Code name price 7495 Москва 0.63 Code - телефонный код города name - Название города price - цена необходимо чтобы пользователь ввел в поиске через php скрипт номер телефона например 74951234567, и получил следующее: Код направление цена 7495 Россия Москва 0.63000 т.е. необходимо отсекать все что стоит после 7495 но с таким условием, чтобы если например в базе существует код 74951 то выводил именно 74951 и так далее. Сейчас реализованно следующее: /* $nmag - берется из формы */ $query = "SELECT * FROM tarif WHERE code='$nmag'"; выводится только то что есть в базе, то чего нет не выводится вводиш 7495 выводит 7495 если ввести 74951234567 ничего не выводит. помогите составить формулу! Последний раз редактировалось kutt; 01.12.2010 в 16:04. |
30.11.2010, 16:39 | #2 |
Форумчанин
Регистрация: 01.10.2008
Сообщений: 266
|
При заполнении поля телефона для поиска сделайте не одно поле, а например два. +7 пишется само перед формой - поле для кода города - поле для номера телефона. А уже информацию обрабатывать можно простыми регулярками, самый простой способ решения вашей проблемы.
Код:
|
30.11.2010, 16:41 | #3 |
Форумчанин
Регистрация: 01.10.2008
Сообщений: 266
|
Еще как вариант жёсткая форма заполнения телефона видом +7-код города- номер телефона. Перед отправкой проверять регулярными выражениями, если устраивает то посылать, если нет то просить перебить номер. Разрезать так же регулярками.
|
30.11.2010, 16:44 | #4 |
Пользователь
Регистрация: 24.05.2008
Сообщений: 31
|
nec117, спасибо огромное, но это несовсем понятно, немогли бы вы написать именно
формулу поиска, т.е. само выражение, я пока не могу сообразить как отсекать не нужные цифры. Дело еще в том что, код города может быть и 93 например афганистан, т.е. в базе кодов куча. вот если человек вводит 93123456789 то как отсеч все что до 93? |
30.11.2010, 16:51 | #5 |
Форумчанин
Регистрация: 01.10.2008
Сообщений: 266
|
Повторяю. Нужно сделать жёсткую форму заполнения телефона. Не свободную как хочешь, так и вводи, а жёстко структурировать. 8-123-12345. и резать то что нужно регулярными выражениями по дефису. Или же сделать как я предлагал в первый раз несколько форм для ввобда одного номера. Форма кода и форма номера. Таким образом уже при вводе номер разбит.
|
30.11.2010, 17:05 | #6 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Решение: Код:
|
|
30.11.2010, 17:39 | #7 |
Форумчанин
Регистрация: 01.10.2008
Сообщений: 266
|
Виталий Желтяков, эм... По моему ваш код будет постоянно возвращать NULL ибо чтобы он хоть что то возвратил, то нужно писать так:
Код:
|
30.11.2010, 20:00 | #8 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
|
01.12.2010, 11:25 | #9 |
Пользователь
Регистрация: 24.05.2008
Сообщений: 31
|
Спасибо огромное, Сделал вот так вот:
$query = "SELECT * FROM tarif WHERE '{$nmag}' LIKE CONCAT( `code` , '%' )"; это почти то что нужно, но есть некая проблема: Ввожу номер телефона 73432234567, выводит мне код 73432, как и нужно, но далее выводит 7343, 7. Т.е. необходимо выводить именно 73432 в нашем случае а остальное не выводить, если например пользователь ввел 73431234567, то должно вывести 7343 т.к. в базе нету кода 73431. Помогите плиз. |
01.12.2010, 12:31 | #10 |
Форумчанин
Регистрация: 01.10.2008
Сообщений: 266
|
Добавьте LIMIT 1 в запрос
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
есть адреси в mysql нужно поиска с AJAX for mysql | orter | PHP | 1 | 24.09.2010 10:24 |
как создать раскрывающийся список с условием | _Set_ | Microsoft Office Excel | 2 | 20.01.2010 17:50 |
Необходимо дописать простой скрипт на PHP+Mysql | kutt | Фриланс | 8 | 08.10.2009 13:09 |
Как создать RSS с помощью PHP, MySQl. | Revival001 | PHP | 6 | 12.07.2009 19:49 |
Создать выражение для запроса с условием | smoky | Microsoft Office Access | 3 | 13.05.2008 21:39 |