Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите найти ошибку
 
 автор: yuriy   (03.03.2006 в 17:52)   письмо автору
 
 

Есть скрипт, который выводит перечень грузов из таблицы MySQL, которые разбиваются на страницы, каждая страница по 10 строк. Пользователь с помощью формы задает фильтрацию перечня, согласно условий taun10 и taun20, в результате остается допустим 5 страниц из 50. Просмотрев первую страницу и переходя на другую, выводится не та вторая страница после фильтрации, а та которая была до фильтрации.
Не могу въехать почему, подскажите буду благодарен

Вот код:

<?php
include("var.php");


if (!isset($_GET['page'])) {$_GET['page'] = '1';}
$to_page = 9;
$pages_links = 5;

$p = ($_GET['page'] * $to_page) - $to_page;

if(!empty($taun10))
{$query = "SELECT COUNT(*) FROM gruz where Taun1 = '$taun10' and Taun2 = '$taun20'";}
else
{$query = "SELECT COUNT(*) FROM gruz ";}



$result = mysql_query($query);
$count = mysql_result($result,0,'COUNT(*)');
$pages = ceil($count / $to_page);

if ($_GET['page'] > $pages) {
header("Location: pages.php?page=".$pages);
} elseif($_GET['page'] < 1) {
header("Location: pages.php?page=1");
}



if(!empty($taun10))
{$query = "SELECT * FROM gruz where Taun1 = '$taun10' and Taun2 = '$taun20' order by date DESC LIMIT ".$p.",".$to_page;} // Выбираем из таблицы указанное кол-во записей начиная со стартовой на текущей странице.
else
{$query = "SELECT * FROM gruz order by date DESC LIMIT ".$p.",".$to_page;}

$result = mysql_query($query);

for ($i=0; $i < $to_page; $i++)

{

echo "<tr>";

$f=mysql_fetch_array($result);

echo "<td><center>$f[date]</td><td><center>$f[Taun1]$f[dd]$f[pro]$f[dd]$f[Taun2]</td><td><center>$f[city]$f[dd]$f[pro]$f[dd]$f[kuda]</td><td><center>$f[chiclo]$f[t]$f[mesyaz]$f[dd]$f[pro]$f[dd]$f[chiclo1]$f[t]$f[mesyaz1]</td>";

echo "<td>$f[gruz]$f[zp]$f[dd]$f[tonah]$f[tt]$f[dd]$f[obyem]$f[ob]$f[zp]$f[dd]$f[comment]</td><td><center>$f[tip]</td><td><center>$f[oplata]</td><td><center>$f[firma]$f[pr]$f[telephone1]$f[zp]$f[dd]$f[telephone2]$f[pr]$f[telephonmob]$f[pr]$f[name]$f[pr]$f[email]</td>";

echo "</tr>";

}



$pages_links_view_max = 0;
$pages_links_view_min = 0;

if ($pages - $_GET['page'] >= ($pages_links + 1)) {
$to_max = $_GET['page'] + $pages_links;
$pages_links_view_max = 1;
} else {
$to_max = $pages;
}


if ($_GET['page'] > ($pages_links + 1)) {
$to_min = $_GET['page'] - $pages_links;
$pages_links_view_min = 1;
} else {
$to_min = 1;
}

if ($pages_links_view_min == 1) {
echo ' <A href="?page=1"> К началу</A>';
}

if ($_GET['page'] > 1) {
echo ' <A href="?page='.($_GET['page']-1).'"> &lt;&lt;</A>';
}

if ($pages_links_view_min == 1) {
echo ' ...';
}


for ($p = $to_min; $p <= $to_max; $p++) {
if ($_GET['page'] == $p) {
echo ' <B>['.$p.']</B>';
} else {
echo ' <A href="?page='.$p.'">['.$p.']</A>';
}
}
if ($pages_links_view_max == 1) {
echo ' ...';
}

if ($_GET['page'] < $pages) {
echo ' <A href="?page='.($_GET['page']+1).'"> &gt;&gt;</A>';
}

if ($pages_links_view_max == 1) {
echo ' <A href="?page='.$pages.'"> Последняя ['.$pages.']</A>';
}
?>

   
 
 автор: Loki   (03.03.2006 в 18:03)   письмо автору
 
   для: yuriy   (03.03.2006 в 17:52)
 

а вы условия taun10 и 20 передаете по ссылке при переходе на вторую страницу?

   
 
 автор: yuriy   (03.03.2006 в 18:12)   письмо автору
 
   для: Loki   (03.03.2006 в 18:03)
 

А как это сделать?

   
 
 автор: Loki   (03.03.2006 в 20:15)   письмо автору
 
   для: yuriy   (03.03.2006 в 18:12)
 

К ссылкам на другие страницы добавьте параметры. Примерно так:

 <A href="?page=".($_GET['page']+1)."&taun10=".$_GET['taun10']."&taun20=".$_GET['taun20'].">

   
 
 автор: yuriy   (05.03.2006 в 17:14)   письмо автору
 
   для: Loki   (03.03.2006 в 20:15)
 

Добавил к ссылкам , немного изменив пример на:
<A href="?page='.($_GET['page']+1).'&taun10='.$_GET['taun10'].'&taun20='.$_GET['taun20'].'">
пишет неопределены taun10, taun20
Я уже и условие поставил выполнять в случае поступления из формы
Что я сделал неправильно?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования