|
|
|
| Есть скрипт, который выводит перечень грузов из таблицы 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).'"> <<</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).'"> >></A>';
}
if ($pages_links_view_max == 1) {
echo ' <A href="?page='.$pages.'"> Последняя ['.$pages.']</A>';
}
?> | |
|
|
|
|
|
|
|
для: yuriy
(03.03.2006 в 17:52)
| | а вы условия taun10 и 20 передаете по ссылке при переходе на вторую страницу? | |
|
|
|
|
|
|
|
для: Loki
(03.03.2006 в 18:03)
| | А как это сделать? | |
|
|
|
|
|
|
|
для: yuriy
(03.03.2006 в 18:12)
| | К ссылкам на другие страницы добавьте параметры. Примерно так:
<A href="?page=".($_GET['page']+1)."&taun10=".$_GET['taun10']."&taun20=".$_GET['taun20'].">
|
| |
|
|
|
|
|
|
|
для: Loki
(03.03.2006 в 20:15)
| | Добавил к ссылкам , немного изменив пример на:
<A href="?page='.($_GET['page']+1).'&taun10='.$_GET['taun10'].'&taun20='.$_GET['taun20'].'">
пишет неопределены taun10, taun20
Я уже и условие поставил выполнять в случае поступления из формы
Что я сделал неправильно? | |
|
|
|