Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 12:56   #11
kutt
Пользователь
 
Регистрация: 24.05.2008
Сообщений: 31
По умолчанию

Спасибо, сделал вот так вот:
$query = "SELECT * FROM tarif WHERE '{$nmag}' LIKE CONCAT(code,'%')LIMIT 1";
но выводит теперь только 7 если например ввожу ему 73431234567, а код 7343 не выводит
kutt вне форума Ответить с цитированием
Старый 01.12.2010, 13:00   #12
kutt
Пользователь
 
Регистрация: 24.05.2008
Сообщений: 31
По умолчанию

т.е. в базе кодов куча , 7, 7343, 73432, 7495, и т.д. по разным городам, нужно чтобы условие находило нужный код

Последний раз редактировалось kutt; 01.12.2010 в 13:02.
kutt вне форума Ответить с цитированием
Старый 02.12.2010, 08:50   #13
kutt
Пользователь
 
Регистрация: 24.05.2008
Сообщений: 31
По умолчанию

никто не сможет помочь?
kutt вне форума Ответить с цитированием
Старый 02.12.2010, 09:33   #14
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Задача у Вас семантически не правильная.
Откуда компьютер поймет что вам надо - город с кодом 7343 или 73432?
Вам надо чтобы при определённом количестве цифр делался запрос и выводились все результаты.
Виталий Желтяков вне форума Ответить с цитированием
Старый 02.12.2010, 09:57   #15
kutt
Пользователь
 
Регистрация: 24.05.2008
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Задача у Вас семантически не правильная.
Откуда компьютер поймет что вам надо - город с кодом 7343 или 73432?
Вам надо чтобы при определённом количестве цифр делался запрос и выводились все результаты.
Спасибо за ответ,
Дело в том что, компьютер может понять что нужно, в базе есть коды к примеру 7343 и 73432, пользотватель вводит в поиске например номер 73431234567, в результате я должен получить 7343, но если пользователь вводит 73432123456 то я должен получить 73432, т.е. условие должно проверить и отсечь не нужное.
kutt вне форума Ответить с цитированием
Старый 02.12.2010, 14:51   #16
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

Ну значит напишите это условие уже на пхп. Не думаю что sql это сделает.
nec117 вне форума Ответить с цитированием
Старый 02.12.2010, 16:51   #17
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Дело в том что, компьютер может понять что нужно, в базе есть коды к примеру 7343 и 73432, пользотватель вводит в поиске например номер 73431234567, в результате я должен получить 7343, но если пользователь вводит 73432123456 то я должен получить 73432, т.е. условие должно проверить и отсечь не нужное.
А что приведённый Вам код этого делать не может?
Виталий Желтяков вне форума Ответить с цитированием
Старый 10.12.2010, 09:41   #18
kutt
Пользователь
 
Регистрация: 24.05.2008
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
А что приведённый Вам код этого делать не может?

Я же писал выше, ща попробую задачу конкретизировать:
есть база в ней, 1)код направления 2)название направления 3)цена
в таблице код направления содержатся коды городов - 7, 7495,7343,73432, и т.д. по всем городам и странам. Дак вот сейчас с последним кодом, пхп скрипт выдает мне только 7 если ввожу к примеру 74951234567, и т.д. если ввожу например номер телефона американский 13191234567 выводит только 1, а мне нужно чтобы выводил если ввожу 74951234567 то 7495, если 13191234567 то 1319 и т.д. т.е. искал соответсвующий код и отсекал не нужные цифры, тобеж если в базе есть код 74952 а я ввожу 74952123456 то и выводить должен 74952.
kutt вне форума Ответить с цитированием
Старый 10.12.2010, 13:43   #19
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Вам подойдёт один из этих двух вариантов:

1.Совсем простой - предложил nec117 - сделать ввод кода в отдельном поле:
Введите код и номер: [_code_] [_phone_number_]
Далее - просто находите в БД соответствующий код.

2.Более сложный:
Основан на предположении,что номер телефона содержит 6 или 7 знаков, а всё остальное - это код.
Ваши действия:
- проверяете,что номер содержит более 7 знаков - strlen()
- создаёте два варианта поисковых шаблонов - substr():
1. для 6-тизначного номера(получаете строку без последних 6-ти символов) - $var_6
2. для 7-мизначного номера(получаете строку без последних 7-ми символов) - $var_7
- выполняете запрос с условием:
Цитата:
WHERE `code` IN ('$var_6','$var_7')
- если результат получен - обрабатываете и выводите его,если нет - сообщаете о неудачном поиске.
Важный момент этого варианта - возможно,вы получите не 1,а 2 варианта в результатах поиска:
Например, мы имеем в Базе коды 7495 и 74952.
В поле вводим номер - 74952234356 .
В этом случае мы получим 2 результата нашего поиска:
74952234356 - корректно для 7-мизначного номера
74952234356 - корректно для 6-тизначного номера
В таких ситуациях (если они возможны в ваших условиях) вы можете:
- вывести оба варианта - на выбор пользователя
- самому определить,какой из этих вариантов корректен в вашем случае,и соответственно ограничить вывод результатов.
Это можно сделать в процессе обработки результатов запроса,
примерно так:
PHP код:
if(mysql_num_rows($result) == 2){
    if(
$row['code'] == $var_6){
        continue;
// будет выведен только вариант для 7-мизначного номера
    
}

Выглядит массивно и замороченно, но на самом деле - это десяток строк кода...
Andkorol вне форума Ответить с цитированием
Старый 11.12.2010, 23:43   #20
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

хм....
если правильно понял....
в форме водиться номер верно?
<input type ="text" name="code" value=""/>

рнр приемник :
Код:
$aux_code = $_POST['code'];
$code = str_split($aux_code, 5);// разрежет полученный код по 5 символов и запишет все это добро в массив...

//в переменной $code[1] будут сидеть нужные вам первые 5 цифры введнного номера, по которому и оформлять заявку к бд
п.с. вообще не понял зачем столько проблем с кодом города, не ужели нельзя дать пользователю самомы выбрать город, ибо если он введет номер мобильного то тогда печаль) город то кака я понял не найдет хоть сколько ты отреж от номера телефона))
думай как баг, действуй как баг, и ты найдешь баг )

Последний раз редактировалось mrgrudge; 11.12.2010 в 23:55.
mrgrudge вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть адреси в 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