Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
У меня есть CSP страница, на ней размещен выезжающий список(поля в базе данных) и текстовое поле для ввода параметра запроса. В списке выбирается поле, по которому будет производится поиск. Есть два вопроса: 1) Можно ли это реализовать одним запросом? Или прийдется для каждого поля писать свой? 2)Как можно сделать "нечеткий поиск"?, то есть,например,вхождение строки в подстроку или примерное совпадение полей. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 13:14 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Можно все сделать одним динамическим запросом... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 13:25 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
а можно попдробнее, а то я еще в запросах не особо разбирался. И еще один вопрос: на страницах вместо русского текста белеберда отображается. Пытался сделать что то вроде: <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> но оно пишет что нет такого ЧарСета, а нужен именно этот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 13:37 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
может все таки windows-125 1 _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 13:40 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
и 1251 пробывал, тот же результат, переброывал все русские кодировки которые есть в ФФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 13:43 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeretа можно попдробнее С тебя тестовый пример... С описанием чего из этого нужно получить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 14:02 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Есть страница: автор <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Unicode"> </head> <body> Stranica zaprosa</br> <FORM name="Form1"> <SELECT NAME=Field> <OPTION VALUE=NumberDoc SELECTED> Nomer Documenta <OPTION VALUE=NameDoc>Nazvanie Documenta <OPTION VALUE=Object>Nazna4enie <OPTION VALUE="TechHar->Text"> Texnicheskaya xarakteristika <OPTION VALUE="TechHar->Adv"> Preimushestvo <OPTION VALUE="TechHar->Sertific"> Sertificat cachestva <OPTION VALUE="TechHar->Stage"> Stadiya osvoeniya <OPTION VALUE="TechHar->Results"> Resultati ispitaniy <OPTION VALUE="TechHar->Effect"> Texniko ekonomicheskiy effect <OPTION VALUE="Org->Name"> Nazvanie organizacii <OPTION VALUE="Org->MailAdress"> Po4toviy ardres Org <OPTION VALUE="Org->Phone"> Telefon Org <OPTION VALUE="Org->Faks"> Faks org <OPTION VALUE="Org->EMail"> E-Mail org </SELECT> Uslovie poiska <INPUT NAME="SearchFor"> <INPUT TYPE="submit" name="But" VALUE="Choose"> <CSP:IF CONDITION='%request.Get("But")="Choose"'> <table BORDER="1"> <CSP:QUERY name="query" classname="NTDU.NewTechMain" queryname="DevQuery"> <CSP:WHILE Condition="query.Next()"> <Caption>Results</Caption> <TR> <TD WIDTH="30%">" #(query.Get("NameDoc"))# </TD> <TD WIDTH="30%">" #(query.Get("NumberDoc"))# </TD> <TD WIDTH="30%"> #(query.Get("Object"))# </TD> <TD WIDTH="10%"> <A href="Dev.csp?oid=#(query.Get("ID"))#">More</A> </TD> </TR> </CSP:WHILE> </table> </CSP:IF> </FORM> </body> </html> После нажатия клавиши Choose из списка Field должно братся значение, после чего в базе с главным класом NewTechMain: автор /// Головний клас бази даних. /// Науково-технічні досягнення Class NTDU.NewTechMain Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { /// Дата наджодження До БД Property DateBirth As %String(MAXLEN = 50); /// дата наджодження до центру Property DateCome As %String; /// Відомості про винахід Property Device As Device; /// Форми та умови передачі Property FormDep As FormsOfDeployment; /// Рубрика ГРНТІ Property GRNTI As %String(MAXLEN = 200); /// Данні про винахідника Property Izobr As Izobretatel; /// Ключові слова Property KeyWords As %String(MAXLEN = 200); /// Назва документу Property NameDoc As %String(MAXLEN = 200); /// Номер Документу Property NumberDoc As %String; /// Призначення продукціі Property Object As %String(MAXLEN = 200); /// Організація Property Org As Organization; /// Сфера застосування Property Sphere As %String(MAXLEN = 200); /// Розділ науки та техніки Property ScienceDirec As %String(MAXLEN = 200); /// Технічна характеристика Property TechHar As TechChar; /// УDК Property UDK As %String(MAXLEN = 200); Query DevQuery() As %SQLQuery { SELECT NameDoc,NumberDoc,Object,"Org->EMail","Org->Faks","Org->MailAdress","Org->Name","Org->Phone","TechHar->Adv","TechHar->Effect","TechHar->Results","TechHar->Sertific","TechHar->Stage","TechHar->Text" FROM NewTechMain WHERE NumberDoc="00-003-06" ORDER BY NumberDoc } } должен производится запрос на выборку по выбраному полю учитывая парметры в поле "SearchFor". Доступ к полям привязаных классов осуществляется как написано в моем запросе. Список полей в ХТМЛ коде у Field, там где теги <Option VALUE=<имя одного из полей>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 14:43 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Вот что-то типа такого... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. Это конечно не вокал... Это только эскиз к вокалу... (с) к/ф В бой идут одни старики ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 15:33 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
немного подправил и теперь работает. Спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 16:21 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Возникла еще пара вопросов: 1)s sql=sql_"WHERE "_fld_"=? " что значит эта строчка? что параметром будет то что я укажу в ors.Execute()? 2)Как все таки сделать нечеткий поиск, хотя бы на вхождение как подстроки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 16:29 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Ну вот и чудненько... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 16:30 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeret1)s sql=sql_"WHERE "_fld_"=? " что значит эта строчка? что параметром будет то что я укажу в ors.Execute()? Да. Там таких "?" можно наставить и больше, а потом в экзекюте указать их через запятую... GreenBeret2)Как все таки сделать нечеткий поиск, хотя бы на вхождение как подстроки Как вариант добавить еще поля для выбора "Равно" или "Содержит" и "задинамить" формирование замого условия Код: plaintext 1. 2. В случае "Содержит" можно применять "%". Типа "%ВАНОВ", "%ВАН%", "ИВАН%"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 16:38 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
что то ваш JavaScript не работает, передает пустую строку в поле hidden ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 17:09 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
решил проблему, во-первых с именами-у вас и метод и хиден элемент имеют одинаковое имя. не знаю принципиально ли это, но я их переименовал. Более важно то, что вместо getElementById надо использывать document.getElementById Ну еще точки с запятой поставить надо, но я не уверен что это обязательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 18:05 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeretБолее важно то, что вместо getElementById надо использывать document.getElementById Ну да. Я же предупредил что это не вокал... Отдал т.с. с листа... Как идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 08:44 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
А вы не знаете, можно ли в скрипте Каше метод как то прописать?А то я использывал и ключевое слово function,и method - не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 10:09 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Поясните, что имеете ввиду? Какой метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 10:20 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeretможно ли в скрипте Каше метод как то прописать? Можно. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 10:25 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду метод в том понимании, как в скрипте Джава. Спасибо krvsa ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 11:18 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeret , кащейский скрипт в csp-странице ничем не отличается от текста программы... Там же можно сделать и методы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 11:53 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Появился вопрос-как сделать что б список SELECT не возвращал свое значение на исходное? То-есть я выбрал 2-ой пункт и он после нажатия кнопки остается выбраным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 16:02 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Как вариант... Но событие Код: plaintext 1. 2. Подвесить функцию, которая будет читать из скрытого поля значение и "селектить" option с таким же значением value... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 16:21 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Или сам селект формировать скриптом опираясь на реквест скрытого поля... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 16:23 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Пробывал по всякому, уже и такое писал: s %request.Data("Field",1)=fld, fld-значение скрытого поля но на сколько я понял оно не может найти параметр "Field", там какае то специфиическая структура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 16:44 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Ээ, а зачем вы реквесту присваиваете поля? их оттуда нужно только брать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 05:30 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Видел в одной книге такое: d %request.Set("Field",12) Первый параметр-имя поля, второй-новое значение. Но так тоже не работает. Кстати я пытался сохранить id выделеного элемента в первом скрипте в поле хиден, но потом какае то мистика получалась: написал после csp:IF еще один скрипт на взятие индекса из поля хиден и передаче его списку, но оно не работает, причем присвоение конс- танты работает, а значения из хиден нет, хотя там оно есть и вроде нормальное. Примерный код: <head> <script language="JavaScript"> function Make() { var o=document.getElementById('Field'); var i=o.selectedIndex; var fld=o.options[i].value; document.getElementById('fsel').value=fld; document.getElementById('num').value=i } </script> <input type="hidden" id="num" name="num"> ..... <CSP:IF....> <script language="JavaScript"> var o=document.getElementById('Field'); var i=document.getElementById('num').value; o.selectedIndex=i;//так не работает o.selectedIndex=2//так работает[b][b][b] [/b][/b] </script>[/b] </head> Выделил добавленое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 10:34 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Немного накосячил, должно быть так <head> <script language="JavaScript"> function Make() { var o=document.getElementById('Field'); var i=o.selectedIndex; var fld=o.options[i].value; document.getElementById('fsel').value=fld; document.getElementById('num').value=i } </script> </head> <body> <input type="hidden" id="num" name="num"> ..... <CSP:IF....> <script language="JavaScript"> var o=document.getElementById('Field'); var i=document.getElementById('num').value; o.selectedIndex=i;//так не работает o.selectedIndex=2//так работает </script> ...... </body> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 10:38 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Вы что-то не то делаете, кажется Смысл объекта реквест - ловить параметры запроса к ксп-странице если к странице обращаются по url типа mycsp?param1=value1¶m2=value2 либо ловить параметры формы после субмита (что в принципе одно и то же) Смысл сохранять значение выбранного поля в поле hidden - чтобы потом субмитить форму, реквестом поймать сохраненное ранее значение и поставть в нужное положение элемент селект. Если вы просто сохраните значение в поле и просто сделате релоад страницы, то значение, естественно, потеряется. Если вы хотите уйти со страницы, а потом вернуться и поймать значение, то стоит сохранить значение в сессию. Типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 11:27 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
но я не ухожу со страницы, и такой прием с сохранением в хиден нормально работает для запроса, то есть я в хиден сохраняю имя поля для запроса и он нормально работает. Как я уже написал единственная проблема возникает с selectedIndex. Сейчас разбирусь в вашем варианте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 11:38 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Тогда (как это уже часто было), я неправильно понял задачу Скажите, что вы хотите (первоначальная цель сменилась и текущую задачу не могу понять) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 12:32 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Необходимо что б после нажатия клавиши в списке выделеным оставался элемент, который был выбран до нажатия. А то после нажатия оно сбрасывается на первый элемент в списке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 12:36 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeret , все дело в том, что ты не чего не присваиваешь скрытой переменной... Она в твоем коде не определена. Код: plaintext А нужно ее определять! Код: plaintext И такое вставление скрипта не приветствуется в html-разработке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 13:33 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
ну как же не присваиваю? а это что? document.getElementById('num').value=i ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 13:39 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeretа это что? Это "до" перезагрузки страницы... После перезагрузки это значение только в реквесте... В самой переменой нет ничего (см. свой код). А вот если напишешь как я показал - там таки будет значение и его можно будет взять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 13:50 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Pапутался я совсем. Почему тогда другое поле хиден, которое хранит название поля работает нормально?я ж по нему запрос провожу, и там нету того что вы написали. ЗЫ: Попробывал по вашему-не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 13:55 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
нет, подождите, метод вызываемый на onsubmit переносит значения в новую сгенереную страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 13:59 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Водно пришла пора показывать свой код... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 14:13 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
GreenBeretПочему тогда другое поле хиден, которое хранит название поля работает нормально? Там тоже нет значения... Да оно там и не нужно после перезагрузки... Это поле используется для того чтобы после субмида его значение попало в реквест. А вот потом вся работа идет именно с реквестом этой переменной, а не с самой переменной, как в последнем случае... Т.е. тут нужно четко отслеживать момент что ты имеешь "до" перезагрузки... И что "после"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 14:17 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Все, всем спасибо,работает, вы были правы krvsa, ваш код работает. Возник еще один вопрос: %request хранит данные о предыдущей странице. А вот в Джава скрипте, который находится в самом верху кода доступ идет к полям текущей страницы. Есть ли такое в скриптахх Каше? Или джава тоже с предыдущей все берет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 14:56 |
|
||
|
Помощь з запросом
|
|||
|---|---|---|---|
|
#18+
Скрипт конструкции Код: plaintext 1. 2. Выполняется только на сервере... И ему доступно только то, что передано серверу... Скрипт конструкции Код: plaintext 1. 2. Вообще ничего не получит... Если это только не записано уже в БД. Т.о. доступ к переменным страницы в момент работы с ней доступен только ЯваСкрипту... С его помощью можно считать нужные данные, вызвать кащейское гипперсобытие, отработать в нем нужные действия (на Каша же) и вернуться на страницу. Причем гипперсобытие может вернуть некие данные, опираясь на которые, можно (опять же) ЯваСкриптом изменить ее (страницу)... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2009, 16:01 |
|
||
|
|

start [/forum/topic.php?all=1&fid=39&tid=1558427]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
92ms |
get tp. blocked users: |
2ms |
| others: | 272ms |
| total: | 504ms |

| 0 / 0 |
