Jump to content
  • 0

Умный поиск


Mestniy96
 Share

Question

 Можно ли сделать, что-бы в опрделенном случае он(поиск) открывал определенную страницу. Например ввел я слово заяц, а он не находит все страницы, с этим словом, а открывает нужную мне страницу - волк(например).

 Как мог обьяснил.  Если что нужно еще , спрашивайте!

 Помогите пожалуйста чайнику. Буду очень благодарен!

 Заранее спасибо. С Уважением, Евгений.

Link to comment
Share on other sites

Recommended Posts

  • 0

Я приследую им конкретные "корыстные цели" :ph34r: . Поможете, нет?


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

з.ы. это не умный, это глупый поиск какой-то...

что означает з.ы.?

Link to comment
Share on other sites

  • 0

да дело не в корыстных, или благих целях, а в том, что этот подход мягко говоря необычный и не понятный...

з.ы. - если переключить раскладку на клавиатуре - получится p.s. это вроде уже давно пошла такая байда )

Link to comment
Share on other sites

  • 0

Вобщем, ландно поясню зачем мне это нужно. У меня сайт СЦ. У нас есть система прослеживания ремонта по id. Т.е. человек вводит свой id в поиск и ему откывается  выполненый ремонт и цена. Но дело в том что когда человек вводит свой id(000-000-000-00 например)у него открывается окно с выбром страницы. Теперь нужно додуматься нажать на свой id и только тогда открывается список выполненного ремонта. А я хочу сократить разрыв и убрать этот дуратский выбор страницы. Проще говоря когда человек вводит свой id и нажимает искать у него открывается непосредственно сама страница ремонта.

 Вот такой ребус. Я видел подобную фишку на какомто сайте, но не помню что за сайт. :dash:

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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

С этим все впорядке. У меня код исключает любую форму, кроме цифр по форме(000-000-000-00). Меня интересует другое. Мне нужен переход на страницу данного ремонта при нажатии на поиск.

можно сделать проверку в модуле поиска, если была найдена только одна ссылка, то производить ее открытие: можно это сделать через PHP можно череМысль хорошая.

Мысль хорошая. Подскажите как это можно сделать через js. Могу скинуть код поиска, если нужно.

Возможно, надо всего лишь отключить появление окна с выбором страницы и сразу перенаправлять на список выполненного ремонта.   ;)

Просто таких страниц ремонтов n количество, для каждого ремонта.

Link to comment
Share on other sites

  • 0
С этим все впорядке. У меня код исключает любую форму, кроме цифр по форме(000-000-000-00). Меня интересует другое. Мне нужен переход на страницу данного ремонта при нажатии на поиск.

очень странно что все в порядке, ведь id - уникален, и если по его запросу выдает ряд других, то это как бы не совсем в порядке...

Link to comment
Share on other sites

  • 0

1. Нужно узнать как у вас выводятся найденные ссылки

если предположим это все выглядит подобным образом:

<div class="links">

<div class="link"><a>link1</a></div>

<div class="link"><a>link2</a></div>

....

</div>

то вам достаточно подсчитать количество потомков блока с классом links,

2. узнав, что их количество равно 1

узнаем href из ссылки и приравниваем это значение window.location.href

через php получилось бы более красиво

Link to comment
Share on other sites

  • 0

<h3 style="color: red">000-000-000-00<h3><form target="_blank" class="poick_os" onsubmit="document.getElementById('sfSbm').disabled=true" method="get" action="/search/" >  <input pattern="[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{2}" type="text" name="q" maxlength="45" value="Поиск..." onclick="if (this.value=='Поиск...'){this.value='';}"/>  <input class="poick_knopka" type="submit" value="Найти" />  </form>

Вот код страницы поиска

Что нужно еще? Сижу на платформе Ucoz.

<table border="0" cellpadding="0" cellspacing="0" width="100%" class="eBlock"><tr><td style="padding:3px;"><div class="eTitle" style="text-align:left;font-weight:normal"><a href="$ENTRY_URL$">$TITLE$</a></div><?if($MESSAGE$)?>	<?if($MODULE_ID$='shop')?><div style="float:left;padding-top:10px;"><a href="$ENTRY_URL$"><img alt="" src="$SMALL$" class="gphoto"></a></div><?endif?>	<div class="eMessage" style="text-align:left;padding-top:2px;padding-bottom:2px;">$MESSAGE$</div><?endif?><div class="eDetails" style="clear:both;">$ENTRY_DEPTH$<?if($SAVING_DATE$)?>- $SAVING_DATE$<?endif?></div></td></tr></table><br />

Это вид материалов из Ucoz

Edited by Mestniy96
Link to comment
Share on other sites

  • 0

очень странно что все в порядке, ведь id - уникален, и если по его запросу выдает ряд других, то это как бы не совсем в порядке...

 

Да не выводит он другие страницы,  требует нажать на название страницы и только тогда переходит к выполнению ремонта. А мне нужно сразу(ввел человек id, нажал поиск и ему открылось страница ремонта, а не результаты поиска).

Link to comment
Share on other sites

  • 0
Да не выводит он другие страницы, требует нажать на название страницы и только тогда переходит к выполнению ремонта. А мне нужно сразу(ввел человек id, нажал поиск и ему открылось страница ремонта, а не результаты поиска).

тогда это получается не поиск, а запрос типа select к бд по параметру id.

Link to comment
Share on other sites

  • 0

 

Да не выводит он другие страницы, требует нажать на название страницы и только тогда переходит к выполнению ремонта. А мне нужно сразу(ввел человек id, нажал поиск и ему открылось страница ремонта, а не результаты поиска).

тогда это получается не поиск, а запрос типа select к бд по параметру id.

 

Может быть и так лучше. Подскажите как это сделать можно?

Link to comment
Share on other sites

  • 0

ну в поле инпут вводится id, а в файле обработчика, который указан в форме в action получаете параметр постом id переданный из формы и делаете запрос к бд select и выводите ту самую запись.

типа: if(isset($_POST['id'])) { select * from table where id =$_POST['id'] } только сделайте защиту от sql инъекций, либо mysql_real_escape_string, либо через pdo - там уже по другому.

Link to comment
Share on other sites

  • 0

ну в поле инпут вводится id, а в файле обработчика, который указан в форме в action получаете параметр постом id переданный из формы и делаете запрос к бд select и выводите ту самую запись.

типа: if(isset($_POST['id'])) { select * from table where id =$_POST['id'] } только сделайте защиту от sql инъекций, либо mysql_real_escape_string, либо через pdo - там уже по другому.

Спасибо огромное что ответили. Я в html - мягко сказать новичек. Можете обьяснить для чайника.

Link to comment
Share on other sites

  • 0

это не html, это php.

но из кода так же видно, что на прямую использовать запрос к бд не желательно, так как есть наверняка свои ф-ции и классы.

в общем вряд ли вам тут помогут на голом энтузиазме, тем более что у большинства форумчан патологическая аллергия к юкозу )))

Link to comment
Share on other sites

  • 0

А ссылку на страницу поиска можно с примером такого поиска, что выводится одна ссылка или выложите часть кода где выводится та самая ссылка по которой нужно автоматом перейти

Link to comment
Share on other sites

  • 0

Дело в том что таких страниц много... Вот одна из них: ссылка


<h3 style="color: red">000-000-000-00<h3><form target="_blank" class="poick_os" onsubmit="document.getElementById('sfSbm').disabled=true" method="get" action="/search/" >  <input pattern="[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{2}" type="text" name="q" maxlength="45" value="Поиск..." action="/if(isset($_POST['id'])) { select * from table where id =$_POST['id'] }/ onclick="if (this.value=='Поиск...'){this.value='';}"/>  <input class="poick_knopka" type="submit" value="Найти" />  </form>

Вот код самого поиска


А вот что я хотел бы видеть при вводе в поиске значения: ссылка

Link to comment
Share on other sites

  • 0

Если у вас по данному поиску любыми способами можно найти только 1 ссылку и ни как нельзя заставить его найти больше, скажем введя только часть id, то можно сделать так на js:

берем данный шаблон

<table border="0" cellpadding="0" cellspacing="0" width="100%" class="eBlock"><tr><td style="padding:3px;"><div class="eTitle" style="text-align:left;font-weight:normal"><a href="$ENTRY_URL$">$TITLE$</a></div><?if($MESSAGE$)?><?if($MODULE_ID$='shop')?><div style="float:left;padding-top:10px;"><a href="$ENTRY_URL$"><img alt="" src="$SMALL$" class="gphoto"></a></div><?endif?><div class="eMessage" style="text-align:left;padding-top:2px;padding-bottom:2px;">$MESSAGE$</div><?endif?><div class="eDetails" style="clear:both;">$ENTRY_DEPTH$<?if($SAVING_DATE$)?>- $SAVING_DATE$<?endif?></div></td></tr></table><br />
и у <a href="$ENTRY_URL$">$TITLE$</a> добавляем id, например goto_link

дальше делаем скрипт

var goto_link = document.getElementById('goto_link');var link = '';var href = goto_link.href.split('/');for(n=href.length-1;n>=0;n--){    if(n == href.length-1) link = goto_link.text.trim()+'/'+href[n];    else link = href[n]+'/'+link;}window.location.href = link;
Учтите, что у вас сейчас ссылка в поиске формируется не корректно почему-то, если у вас она исправится, то скрипт можно будет упростить
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy