Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Постраничный вывод: проблема, сохранение сортировки при переходе по... 
:(
    Опции темы
Lloyd
Дата 22.2.2004, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 19.7.2003

Репутация: нет
Всего: нет



Использовал для постраничного вывода функцию с этого форума
У она меня выгдядит следующим образом:

Код

// функция разбивки сраниц

function pages_list($query, $page = 0, $sortcolumn = "", $sort = "DESC", $ignoreparameters = "", $resultsperpage = 20, $scriptname = "") {

global $start, $HTTP_GLOBAL_VARS;
$tpages = '';
$vars = '';
if (!$scriptname || ($scriptname == "")) $scriptname = $HTTP_GLOBAL_VARS['PHP_SELF'];
if (!$ignoreparameters || ($ignoreparameters == "")) $ignoreparameters = array("page", "sortcolumn", "sort");
if (!$sortcolumn || ($sortcolumn == "")) $sorting = "";
else $sorting = " ORDER BY ".$sortcolumn." ".$sort." ";
$records = $n = mysql_num_rows(mysql_query($query));
foreach ($_REQUEST as $name => $value)
if (!in_array($name,$ignoreparameters)) $vars .= $name."=".$value;
$totalpages = 0;
while ($n > 0) {
$totalpages++;
$n -= $resultsperpage;
}
$n = $records;
$cp = 0;
while ($n > 0) {
if (($cp >= $page-10) && ($cp <= $page+10)) {
if ($cp == $page) $tpages .= "[<b>".($cp+1)."</b>]";
else $tpages .= "<a href=\"http://www.pctower.net/index.php".$scriptname."?".$vars."&page=".$cp."\">".($cp+1)."</a>\n";
$tpages .= " ";
}
$cp++;
$n -= $resultsperpage;
}
$query .= $sorting." LIMIT ".($page*$resultsperpage).",".$resultsperpage;
$pages = "Страницы: \n";
$pages .= $tpages;
$results['pages'] = $pages;
$results['query'] = $query;
$results['vars'] = $vars;
return $results;
}

// выводим результаты

if (!$page) $page = 0;
if (!$sortcolumn || ($sortcolumn == "")) $sortcolumn = "article_date";
if (!$sort || ($sort == "")) $sort = "DESC";
$query = "SELECT * FROM articles WHERE section_id='$section' ";
$results = pages_list($query, $page, $sortcolumn, $sort, array("page", "sortcolumn", "sort", "PHPSESSID"), 10, "");

$result = mysql_query($results['query']);
while ($row = mysql_fetch_array($result)) {

  echo $row['article_title'];
  echo $row['article_author'];
  echo $row['article_date'];
}

// выводим навигацию

echo $results['pages'];


Все хорошо работает, но вот одна проблема: есть простенькая форма, из которой передаются значения в переменную сортировки $sort:

<form method="POST" action="">
сортировать по
<select name="sort">
<option value="DESC" selected>убыванию</option>
<option value="ASC">возврастанию</option>
</select>
</form>

форма работает, сортировка происходит, но если страница разбита на несколько, то при переходе на следующую страницу эти данные теряются и сортировка опять происходит по умолчанию. Как сделать чтобы сортировка сохранялась в рамках одного документа разбитого на страницы?

Спасибо.

Это сообщение отредактировал(а) Lloyd - 22.2.2004, 16:52
PM MAIL   Вверх
Mal Hack
Дата 22.2.2004, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Передавать через сессии или ГЕТ тип сортировки (данные формы)...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0657 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.