[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка с учетом переданных параметров
grafnet
При выборке данных из БД, с учетом выбора пункта списка "№ записей на странице", столкнулся с такими проблемами:

1) После обновления страницы переданный параметр сбрасывается (Для его сохранения нужно как-то испольовать сессии?)
2) И хотелось бы отправлять форму без нажатия кнопки submit, т.е. просто кликнув по пункту списка.

Подскажите, как можно это правильно реализовать?



Спустя 54 минуты, 46 секунд (10.07.2011 - 22:08) Invis1ble написал(а):
Цитата
Для его сохранения нужно как-то испольовать сессии?

да
Цитата
И хотелось бы отправлять форму без нажатия кнопки submit, т.е. просто кликнув по пункту списка.

копай в сторону javascript, а именно - тебе нужно поймать событие onclick и отправить форму с помощью метода submit()

Спустя 20 часов, 17 минут, 18 секунд (11.07.2011 - 18:26) grafnet написал(а):
Цитата (Invis1ble @ 10.07.2011 - 19:08)
Цитата
Для его сохранения нужно как-то испольовать сессии?

да

Оказалось все очень легко. Просто регистрация сеансовой переменной.

Цитата (Invis1ble @ 10.07.2011 - 19:08)
Цитата
И хотелось бы отправлять форму без нажатия кнопки submit, т.е. просто кликнув по пункту списка.

копай в сторону javascript, а именно - тебе нужно поймать событие onclick и отправить форму с помощью метода submit()

А здесь сделал так:
<script language ="JavaScript"> 
<!--
function paramChange() {
num.submit();
}
-->
</script>
<form
action="#" method="POST" name="num" >
<select
onChange="paramChange(this.form)">
<option
value="5" selected>Show 5</option>
<option
value="10">Show 10</option>
<option
value="25">Show 25</option>
<option
value="30">Show 30</option>
</select>
</form>

Но теперь вопрос встал о том, как динамически подставлять selected в нужный пункт, в зависимости от того, какое значение в $num?

Спустя 3 минуты, 7 секунд (11.07.2011 - 18:29) Invis1ble написал(а):
grafnet
что за $num ?

Спустя 1 минута, 21 секунда (11.07.2011 - 18:30) Игорь_Vasinsky написал(а):
наверн это Show 10

Спустя 1 минута, 50 секунд (11.07.2011 - 18:32) Invis1ble написал(а):
Игорь_Vasinsky
наверно, но я не вижу name у select'а

Спустя 7 минут, 7 секунд (11.07.2011 - 18:39) Invis1ble написал(а):
вообще, я так понимаю, имелось ввиду что-то типа этого:
<script language ="JavaScript"> 
<!--
function paramChange() {
document.form.submit();
}
-->
<
form action="#" method="POST" name="form">
<
select onChange="paramChange()" name="num">
<?php for ($i = 5; $i < 35; $i += 5) : ?>
<option value="<?php echo $i ?>" <?php echo isset($_POST['num']) && $_POST['num'] == $i ? 'selected' : '' ?>>Show <?php echo $i ?></option>
<?php endfor ?>
</select>
</
form>

Спустя 7 минут, 48 секунд (11.07.2011 - 18:47) grafnet написал(а):
$num - это значение value в пунктах, которое используется для определения количества записей выводимых на страннице.

Спустя 6 минут, 9 секунд (11.07.2011 - 18:53) Игорь_Vasinsky написал(а):
grafnet
перед тобой пост же.

Спустя 9 минут, 58 секунд (11.07.2011 - 19:03) grafnet написал(а):
Да, работает так как надо, просто я без использования цикла пытался сделать.

Спустя 2 часа, 16 минут, 50 секунд (11.07.2011 - 21:20) ИНСИ написал(а):
Цитата
Для его сохранения нужно как-то испольовать сессии?

Не стоит. Я так понял, что данный параметр выводит определенное количество записей с БД, тогда просто используй в форме не $_POST а $_GET.


Спустя 1 день, 2 часа, 26 минут, 33 секунды (12.07.2011 - 23:46) grafnet написал(а):
Цитата (INSIDIOUS @ 11.07.2011 - 18:20)
Цитата
Для его сохранения нужно как-то испольовать сессии?

Не стоит. Я так понял, что данный параметр выводит определенное количество записей с БД, тогда просто используй в форме не $_POST а $_GET.

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

Если передать параметр через $_POST и обновить страницу - запрашиваться подтверждения на повторную отправку формы. Можно ли избавиться от этого?

Спустя 10 часов, 5 минут, 21 секунда (13.07.2011 - 09:52) ИНСИ написал(а):
Цитата
Можно ли избавиться от этого?

Да. В самом начале файла, перед выводом любой информации, там где ты создаешь сессию надо сделать использовать: header('Location: ');

Спустя 11 часов, 20 минут, 20 секунд (13.07.2011 - 21:12) grafnet написал(а):
Цитата (INSIDIOUS @ 13.07.2011 - 06:52)
Цитата
Можно ли избавиться от этого?

Да. В самом начале файла, перед выводом любой информации, там где ты создаешь сессию надо сделать использовать: header('Location: ');

Но тогда появляется ошибка 310.

Спустя 31 минута, 44 секунды (13.07.2011 - 21:44) Админ написал(а):
JS тож неплохо редирект делает

Спустя 2 минуты, 23 секунды (13.07.2011 - 21:46) bulgakov написал(а):
Цитата
JS тож неплохо редирект делает

Но js видно

Спустя 2 минуты, 1 секунда (13.07.2011 - 21:48) Админ написал(а):
Цитата
Но js видно

и что в этом криминального

Спустя 23 часа, 25 минут, 29 секунд (14.07.2011 - 21:14) grafnet написал(а):
Все, во всем разобрался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.