Taras 0 Жалоба Опубликовано: October 27, 2015 Здравствуйте! Подскажите пожалуйста как сделать поиск по номеру телефона (тип формы - mobileform) для зарегистрированных пользователей? И, если не сложно, как сделать поиск по слову/фразе из объявления? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: October 27, 2015 Здравствуйте! Подскажите пожалуйста как сделать поиск по номеру телефона (тип формы - mobileform) для зарегистрированных пользователей? И, если не сложно, как сделать поиск по слову/фразе из объявления?Чуть поподробнее можно, что именно будете искать и в какой части сайта? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taras 0 Жалоба Опубликовано: October 27, 2015 Чуть поподробнее можно, что именно будете искать и в какой части сайта?Можно, конечно. Для удобства сотрудников, они же зарегистрированные пользователи (не знаю в чем именно заключается удобство) было создано несколько форм (доступные только зарегистрированным) в таблице Data: Ф.И.О. хозяина (fio_hos_all, тип - safestring); Тел. хозяина (tel_hos_all, тип - mobilephone); заметки (zametky, тип - safestring). Далее возникла надобность поиска по номеру телефона (так как бывают хозяева которые продают несколько квартир, и сотрудники хотят знать, работали они уже с ним или нет). Полистал форум, но нигде ничего не нашел (может плохо смотрел?). Единственное что нашел похожее (на мой взгляд) это поиск по ID (но ID движок обрабатывает, а поиск по номеру телефона, естественно нет). Отсюда вопрос: что надо вписать в template_search.php чтобы работал поиск по номеру телефона? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: October 27, 2015 Здравствуйте! Подскажите пожалуйста как сделать поиск по номеру телефона (тип формы - mobileform) для зарегистрированных пользователей? И, если не сложно, как сделать поиск по слову/фразе из объявления?Есть платное приложение - Живой поиск, о нем как-то подзабыли, но это отдельная строка поиска, которая на текущий момент дает выборку по параметрам {id},{topic},{city},{street},{price},{text} (описание), может быть его и под ваши нужды можно доработать. Оно вроде на сайте etown.ru работает, можно посмотреть... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: October 27, 2015 Отсюда вопрос: что надо вписать в template_search.php чтобы работал поиск по номеру телефона? Скорее всего это будут конструкции вида(re_data.some_phone_field LIKE \'%'.$phone.'%\')или(re_data.some_phone_field=\''.$phone.'\')Но тут все зависит очень сильно от того, что будет подаваться на вход поиска и как хранятся телефоны в том месте, где планируется искать. Если в полях телефоны хранятся в форматированном виде, то сам запрос поиска начнет приобретать монуструозный вид. А если кроме телефона в поле может быть еще, что-то, как например в поле "заметки (zametky, тип - safestring)" где, как я подозреваю, вполне могут содержаться и некие другие слова-данные, то решение по поиску может быть вообще пирровой победой.Какого-то универсального варианта решение скорее всего нет, поскольку поиск по тексту сам по себе является очень интересной задачей даже без учета необходимости оптимизации. А если еще хочется, что бы кроме поиска движек мог выполнять параллельно еще хоть что-то, то каждый случай лучше рассматривать индивидуально. Вплоть до вынесения операций вычленения номеров из содержащих полей в некие индексные поля или таблицы отдельной задачей, а сам поиск организовывать уже по препарированным данным. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taras 0 Жалоба Опубликовано: October 28, 2015 Скорее всего это будут конструкции вида(re_data.some_phone_field LIKE \'%'.$phone.'%\')или(re_data.some_phone_field=\''.$phone.'\')А можно более полный пример? Как оно в template_search.php будет? Не хотелось бы накосячить. Очень слабо РНР понимаю (стараюсь исправляться). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: October 31, 2015 Здравствуйте! Подскажите пожалуйста как сделать поиск по номеру телефона (тип формы - mobileform) для зарегистрированных пользователей? И, если не сложно, как сделать поиск по слову/фразе из объявления?Вы хотите сделать отдельное поле для этого? типа: Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taras 0 Жалоба Опубликовано: November 4, 2015 Вы хотите сделать отдельное поле для этого? типа: Да. Уже любой вариант устроит. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 4, 2015 Этот блок добавьте там где нужно вывести поиск<div id="block-search"> <form method="GET" action="../search.php"> <span></span> <input type="text" id="input-search" name="q" placeholder="Поиск среди объявлений"> <input type="submit" id="button-search" value="Поиск"> </form> <div id="result-search"></div></div>дальше в template_search.tpl$phone = trim($this->getRequestValue('phone'));if(''!==$phone){ $params['phone'] = $phone; } if(isset($params['phone'])){ $where_array[]='('.DB_PREFIX.'_data.phone LIKE "%'.$params['phone'].'%")'; }еще создать файлик search.php и закинуть в корень с таким кодом:<?php $booble = strtolower(trim($_GET['q'])); header('Location: http://название-сайта.ру/?phone='.$booble);?>только вот искать оно будет в точности как указано в БД. Поэтому если у вас номера вводятся по маске то в поиск тоже нужно ввод по маске сделать Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 4, 2015 <form method="GET" action="../search.php">можно просто {$estate_folder}/ вместо ../search.phpИ так, и так обращение идет на сам сайт. Так что промежуточный файл-редирект не нужен. И в <input type="text" id="input-search" name="q" placeholder="Поиск среди объявлений">name сменить с q на phone 1 pwnz22 reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 4, 2015 Можно, конечно. Для удобства сотрудников, они же зарегистрированные пользователи (не знаю в чем именно заключается удобство) было создано несколько форм (доступные только зарегистрированным) в таблице Data: Ф.И.О. хозяина (fio_hos_all, тип - safestring); Тел. хозяина (tel_hos_all, тип - mobilephone); заметки (zametky, тип - safestring). Далее возникла надобность поиска по номеру телефона (так как бывают хозяева которые продают несколько квартир, и сотрудники хотят знать, работали они уже с ним или нет). Полистал форум, но нигде ничего не нашел (может плохо смотрел?). Единственное что нашел похожее (на мой взгляд) это поиск по ID (но ID движок обрабатывает, а поиск по номеру телефона, естественно нет). Отсюда вопрос: что надо вписать в template_search.php чтобы работал поиск по номеру телефона? Кстати, можно добавлять больше полей для поиска, через OR condition в template_search.tpl. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 4, 2015 Кстати, можно добавлять больше полей для поиска, через OR condition в template_search.tpl. Только следует помнить, что все переданные из template_search группы объединенные OR слепятся с остальными группами тем же AND. Наглядный пример: (region_id=2) AND (city_id=2 OR city_id=3 OR city_id=4), где первое условие напрочь убивает второе. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 9, 2018 А возможно ли сделать на сайт, в фильтр поиск по номеру телефона на сайте как в админке, что бы искал даже по двум совпадающим цифрам номера телефона? Если в админке этот код <tr><td>Телефон</td><td> <input type="text" name="srch_phone" value="" /></td></tr> (Я вставлял его в фильтр сайта, не работает) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
nagovizin 12 Жалоба Опубликовано: February 10, 2018 12 часа назад, 72realty сказал: А возможно ли сделать на сайт, в фильтр поиск по номеру телефона на сайте как в админке, что бы искал даже по двум совпадающим цифрам номера телефона? вставьте это может сработает <div class="type control-group"> <label class="control-label" for="inputType"> Поиск по телефону </label> <div class="controls"> <action="{$estate_folder}"> <input type="text" id="input-search" name="phone" placeholder="Поиск по телефону"> </div> </div> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 10, 2018 2 часа назад, nagovizin сказал: вставьте это может сработает <div class="type control-group"> <label class="control-label" for="inputType"> Поиск по телефону </label> <div class="controls"> <action="{$estate_folder}"> <input type="text" id="input-search" name="phone" placeholder="Поиск по телефону"> </div> </div> Увы на real-spaces не работает Но всё равно спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: February 10, 2018 20 минут назад, 72realty сказал: Увы на real-spaces не работает Но всё равно спасибо если телефоны заносятся в базу через маску mobilephone, то они хранятся в базе только в формате цифр, типа 79261234567, что в приницпе не отличается от хранения того-же ID объявления. Попробуйте сделать поле поиска по телефону по аналогии с полем поиска по ID. По сути скопировать код для ID и заменить в нем парамтер выборки id на phone, может прокатит... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 10, 2018 2 часа назад, Chernetskiy сказал: если телефоны заносятся в базу через маску mobilephone, то они хранятся в базе только в формате цифр, типа 79261234567, что в приницпе не отличается от хранения того-же ID объявления. Попробуйте сделать поле поиска по телефону по аналогии с полем поиска по ID. По сути скопировать код для ID и заменить в нем парамтер выборки id на phone, может прокатит... Не вышло. Спасибо. Да и если бы получилось, то искало бы по всем цифрам(как и ID). А надо как в админке(даже по двум совпадающим цифрам) Ну ничего. Обращусь потом во фриланс или попрошу Дмитрия Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
nagovizin 12 Жалоба Опубликовано: February 19, 2018 положите прикрепленный файл в папку main своего шаблона уберите лишнее про optype и будет работать. template_search.php Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 24, 2018 В 19.02.2018 в 13:36, nagovizin сказал: положите прикрепленный файл в папку main своего шаблона уберите лишнее про optype и будет работать. template_search.php Спасибо большое. Помогло! Получилось! Правда ищет только по номеру телефона data-phone(Телефон контактного лица ответственного за объект) Если знаете, подскажите пожалуйста, что сделать, что бы искал ещё и по номеру телефона из профиля? *Могу в знак благодарности рассказать вам как у меня устроен поиск по слову(ищет по любому слову на сайте). Использую его вместо поиска по улице(очень удобно!) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 25, 2018 В 19.02.2018 в 13:36, nagovizin сказал: положите прикрепленный файл в папку main своего шаблона уберите лишнее про optype и будет работать. template_search.php Это Вам Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 25, 2018 В 19.02.2018 в 13:36, nagovizin сказал: положите прикрепленный файл в папку main своего шаблона уберите лишнее про optype и будет работать. template_search.php Кстати может быть подскажите как сделать в поиске выбор сотрудника? А то приходиться в standart_search_form.tpl каждого сотрудника в ручную вписывать и удалять)) У меня сейчас в фильтре вот такой код стоит <div class="col-md-4"> <label>Сотрудник</label> <select name="user_id"><option value="">Не важно</option><option value="153">Бадьянова Виктория Валерьевна</option><option value="156">Горячкина Светлана Александровна</option><option value="7">Гранкина Ирина Николаевна</option><option value="61">Даниленко Елена Александровна</option><option value="64">Иванова Ирина Ивановна</option><option value="168">Князева Валентина Евгеньевна</option><option value="21">Копасова Екатерина Анатольевна</option><option value="154">Лебедева Елена Михайловна</option><option value="55">Митрофанова Александра Алексеевна</option><option value="36">Старцева Юлия Михайловна</option><option value="20">Стейскал Наталья Витальевна</option><option value="1">Харламов Алексей Юрьевич</option><option value="150">Шатилова Ирина Николаевна</option></select> </div> У меня есть выбор по отделу (Дмитрий делал) В standart_search_form.tpl такой код <div class="col-md-4"> <label>Отдел</label> {$users_groups_list} {if $country_list ne ''} {$country_list} {/if} </div> А как сделать так же в выбор сотрудников не знаю))) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
banzai72 32 Жалоба Опубликовано: February 25, 2018 main.php template_search.php Новый текстовый документ.txt Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
nagovizin 12 Жалоба Опубликовано: February 26, 2018 спасибо я посмотрю че там за поиск по слову. че то шаманил ранее сам но так и не смог реализовать, по другим вопросам я не сталкивался не знаю как это делать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах