Rambler's Top100
, : |

! : http://dreamweaver.net.ru/new-forum/

| FAQ | | |

Последовательная фильтрация данных в таблице
1, 2  .
 
  ,         .     ,        .     Форум Macromedia Dreamweaver -> Динамические страницы
 
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 05, 2007 8:17 am     : Последовательная фильтрация данных в таблице

Добрый день! Такая проблема. Есть БД Акцесс, в которой несколько связанных таблиц. Нужно, чтобы посетитель сайта последовательно отфильтровывал данные. Например: щелкает по ссылке на первой странице (набор ссылок - динамический текст из БД) и переходит на вторую страницу, где каждой ссылке соответствует свой набор записей. Далее, на второй странице нажимает на ссылку и должен перейти на третью страницу, где данные из таблицы должны отбираться по значению поля из ссылки с первой страницы и второй страницы. Другими словами, как сделать, чтобы сайт запоминал выбранные данные и как их потом вызывать в Дримере... Фуф, надеюсь понятно объяснил... Заранее благодарен за любую помощь
Денис
Модератор

Модератор


: 42

: 21.08.2004
: 1490
: Санкт-Петербург

: 06, 2007 10:13 am     :

Для этого лучше всего подойдут GET-переменные.

Никита ():
Например: щелкает по ссылке на первой странице (набор ссылок - динамический текст из БД) и переходит на вторую страницу


В ссылки на первой странице вставьте нужную Вам переменную:

[code:1:8ed3dccd90]www.your_site.ru/page2.php?var1=1[/code:1:8ed3dccd90]
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 07, 2007 6:41 am     :

Я программирую на ASP, но суть одинаковая... Да, я использую метод GET, но мне нужно, чтобы значение переменной запоминалось. Т.е. выборка из таблицы происходила, например, по трем параметрам, взятым из разных ссылок. Но если я, допустим, на второй странице нажму на ссылку, то забудется значение переменной, взятой со второй таблицы...
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 07, 2007 6:42 am     :

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

Модератор


: 36

: 12.05.2005
: 846

: 07, 2007 11:42 am     :

а кто мешает на второй странице в ссылку вставлять значения get, полученные из первой страницы?
Или использовать переменные уровня сессии?
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 07, 2007 12:36 pm     :

to OldFornit: к сожалению, что такое переменные уровня сессии я пока не знаю. А насчет первого варианта - на второй странице в ссылку вставлять значения get, полученные из первой страницы - очень хотелось бы узнать подробнее. Как вставить, куда и как потом извлечь (желательно средствами дримвивера)...
OldFornit
Модератор

Модератор


: 36

: 12.05.2005
: 846

: 07, 2007 1:00 pm     :

Никита Вы же asp используюте?
Тогда увы.
Но вот алгоритм
Первая страница. Имеются ссылки с передачей параметров по GET.
Кликаем по ссылке, переходим на другую страничку.
Естественно, по GET переменная передалась. Вы же умеете работать с такими переменными? Wink
Далее. Вторая страница. Получена переменная. В зависимости от нее мы отфильтвовали какие-то данные. Для сделующей фильтрации мы опять таки рисуем ссылки.
И в новые ссылки мы тоже вставляем какие-то параметры + то, что уже получили.
Например:
Первая страница - ссылка с ?a=15. По ней кликнули, перешли на вторую, на которой уже будет так - ?a=15&b=21 и так далее.

И давайте договоримся - не "Средстами Дримвивера", так как Дримвивер все-таки всего-навсего инструмент, владение которого не отменяет знание самих языков, а средствами языка.
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 07, 2007 3:10 pm     :

вот это я и не могу уловить - как мне в адресную строку на второй странице запихнуть переменную с первой. Ведь как только я кликну по второй ссылке, в адресной строке пропишется ?b=21. Но ведь надо ?a=15&b=21. Как это сделать???
OldFornit
Модератор

Модератор


: 36

: 12.05.2005
: 846

: 07, 2007 3:21 pm     :

мог бы ответить и развернуто. Но прочто подумайте. Вы щелкаете на первой страничке. И при клике происходит переход на вторую, а тчо при этом находится в адресной строке?
Если не помогло - читайте документацию
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 07, 2007 3:53 pm     :

Гм... Не помогло... Но все равно спасибо... Буду разбираться сам...
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 08, 2007 6:41 am     :

Не пойму в чем дело!!! Беда какая-то... Передаю переменную с первой страницы. На второй странице задаю эту переменную - Request.QueryString("var1"). Затем запрашиваю данные из таблицы - получается что-то типа SELECT поле_1 FROM таблица_1 WHERE поле_2 = VVV, где VVV - переменная со значением по умолчанию и run-time value Request.QueryString("var1") - то самое значение с первой страницы, по которому надо фильтровать данные. По логике все правильно. Но дримвивер выдает сообщение при тестироании - слишком мало переменных, требуется 1. И при открытии в браузере - тоже ошибка. В чем дело???? Объясните начинающему программисту...
Денис
Модератор

Модератор


: 42

: 21.08.2004
: 1490
: Санкт-Петербург

: 08, 2007 8:42 pm     :

На PHP это выглядело бы так:

[code:1:6861e39cdc]
Присваиваем значение переменной b:
$b=2;
echo "http://your_site.com?a=".$_GET["a"]."&b=$b";
[/code:1:6861e39cdc]

В результате получаем строчку:

[code:1:6861e39cdc]http://your_site.com?a=1&b=2[/code:1:6861e39cdc]
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 10, 2007 6:36 am     :

Спасибо за помощь. Но с PHP вообще не дружу (. Разобрался методом тыка... Если кому интересно - распишу...
Денис
Модератор

Модератор


: 42

: 21.08.2004
: 1490
: Санкт-Петербург

: 10, 2007 7:50 pm     :

Распишите
Никита
Новичок

Новичок


: 36

: 05.05.2007
: 26

: 11, 2007 7:49 am     :

В общем так: если надо передать 2 или более переменные на другую страницу и по ним отфильтровать данные. Как это сделать в Дримвивере. Если на страничке уже есть динамический текст, который мы получили с предыдущей странички, то его значение равно Recordset.Item.Field(поле_1).Value, где Recordset - это соединение с базой данных, поле_1 - имя поля, откуда выбираем значения. Затем создаем какую-нибудь ссылку, к ней прикрепляем следующее: 222.asp?a=Recordset.Item.Field(поле_1).Value&b=Recordset.Item.Field(поле_2).Value, где 222.asp - страница, на которую перейдем по ссылке, поле_2 - второе поле, по которому нужно отфильтровать данные.
:   
  ,         .     ,        .     Форум Macromedia Dreamweaver -> Динамические страницы : GMT + 2
1, 2  .
1 2

 


Powered by phpBB © 2001, 2005 phpBB Group
phpBB


/ : 136266 / 0

Rambler's Top100 @Mail.ru