Переменные формы+постраничный вывод

svv

Guest
Переменные формы+постраничный вывод

Есть 2 файла:
1. index.php - содержит форму для заполнения значений переменных и кнопку Submit.
2. action.php - использует переменные из формы индексного файла, создает временную таблицу по select ' у из основной таблицы с WHERE -ограничениями по значениям переменных из формы . Далее для постраничного вывода используются данные временной таблицы (первая слишком большая).
Внимание вопрос!
Первый вызов страницы action выдает все нормально, т.е. к примеру первые 10 значений из временной таблицы , но при клике на 2-ю, 3-ю ... страницу постраничного вывода переменные введенные в форме пропадают и соответственно ничего не выводится. Как сохранить перемнные из формы для дальнейшего использования в постраничном выводе?
 

Фанат

oncle terrible
Команда форума
точно так же, как ты сохраняешь номер страницы
 

svv

Guest
Автор оригинала: Фанат
точно так же, как ты сохраняешь номер страницы
\

Не совсем понял, что ты имеешь ввиду. У меня ссылки на страницы постраничного вывода формируются так:
PHP:
// дальше выводим ссылки на страницы:
 $row=mysql_fetch_row($res); $total_rows=$row[0];
 print "Всего найдено = $total_rows записей";
 $num_pages=ceil($total_rows/$per_page); 
// Число ссылок на сраницы 
for($i=1;$i{'.$i."} "; } }
 

Фанат

oncle terrible
Команда форума
слушай, ты яндексом когда-нибудь пользовался?
если нет - то пойди посмотри, как он решает эту супер сложную проблему.
 

svv

Guest
При первом вызове страницы action (через submit) ссылка получается такая

http://mira.best-host.ru/action.php?name=svv&star=omi+cet&startjd=&endjd=2453999

когда кликаю по 2-й ссыке многостраничного вывода (на оригинальном сайте его пока нет ) формируется страница вида

http://mira.best-host.ru/action.php?page=2

т.е. без переменных. Я полагаю в этом у меня и проблема?
 

Фанат

oncle terrible
Команда форума
ну естественно.
ты же САМ формируешь ссылку БЕЗ нужных переменных.
а потом удивляешься - куда они делись =)
 

Фанат

oncle terrible
Команда форума
ну, варианта два.
либо брать QUIERY_STRING, и шаманить с ней,
либо массив $_GET, удалять из него элемент page, собирать из оставшегося QUIERY_STRING и подставлять результат в ссылку
 

svv

Guest
Спасибо за советы. Буду шаманить дальше.
 

Green

Новичок
А пожно еще в action.php создавать форму из хидденов, заносить туда данные, сделать там хидден-поле "страница", и по клику на номер страницы менять жаваскриптом хидден-поле и делать сабмит этой формы.
Чем плохое решение помимо использования жаваскрипта?
 

Groove

Новичок
Green
зачем создавать себе сложности чтобы потом их героически преодолевать?
Если любить так стоя в гамаке с барабаном на шее! Фанат дал самые оптимальные решения уже, удобнее всего второе, там даже удалять элемент $_GET['page'] не надо, он может просто перезаписываться новым значение
 

svv

Guest
Продолжим тему!
С вашей помощью и "нечеловеческими" усилиями получилось следующее:

$_get= $QUERY_STRING;
echo $_get;
....
и далее в цикле получаем ссылки

echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'&'.$_get.'">'.$i."</a> ";
...

Переменные в ссылках на своих местах, но..

Проблема теперь с тем ,что при первом постраничном выводе из базы получаем, к примеру, 10 значений и ссылки на другие страницы вида
http://localhost/action.php?page=2&name=svv&star=ry+tau&startjd=&endjd=
или
http://localhost/action.php?page=3&name=svv&star=ry+tau&startjd=&endjd=
т.е. в зависимости от нужной страницы.
Но при вызове, к примеру третьей страницы ссылка на другие страницы принимает вид
http://localhost/action.php?page=2&page=3&name=svv&star=ry+tau&startjd=&endjd=
или
http://localhost/action.php?page=6&page=3&name=svv&star=ry+tau&startjd=&endjd=

т.е. в переменной $_get прописывается и предыдущая ссылка.
И так далее с нарастанием. Как можно избавиться от "распухания" переменной $_get, чтобы и далее ссылки были корректными? Одним словом - можно ли значение $get зафиксировать? А может и это неправильный подход?
 
Сверху