mysql — PHP Pagination Последняя запись id

У меня есть следующий код пагинации:

$rec_limit = 3;/* Get total number of records */
$query = "SELECT count(id) FROM news";
$result = mysql_query($query);
if(!$result)
{
die('Could not get data: ' . mysql_error());
}
$row = mysql_fetch_array($result, MYSQL_NUM );
$rec_count = $row[0];

if( isset($_GET{'page'} ) )
{
$page = $_GET{'page'} + 1;
$offset = $rec_limit * $page ;
}
else
{
$page = 0;
$offset = 0;
}
$left_rec = $rec_count - ($page * $rec_limit);

$query2 = "SELECT * ".
"FROM news ".
"LIMIT $offset, $rec_limit";

$result2 = mysql_query( $query2 );
if(! $result2 )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($result2, MYSQL_ASSOC))
{
echo " ID :{$row['id']}  <br> ".
" News : {$row['title']} <br> ".
" Date : {$row['date']} <br> ".
"--------------------------------<br>";
}

if( $page > 0 )
{
$last = $page - 2;
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$last\">Last 3 Records</a> |";
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$page\">Next 3 Records</a>";
}
else if( $page == 0 )
{
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$page\">Next 3 Records</a>";
}
else if( $left_rec < $rec_limit )
{
$last = $page - 2;
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$last\">Last 3 Records</a>";
}

Код работает идеально по мере необходимости, за исключением того, что a href часть, где он показывает ссылку Следующие 3 записи, даже если новостей не осталось. Я имею в виду, что он продолжает открывать страницы с пустыми записями! Как удалить ссылку «Следующие 3 записи» при достижении последнего идентификатора новости?.

Благодарю вас

0

Решение

Просто приведите последнее условие выше двух других и измените < в <=:

if($left_rec <= $rec_limit)
{
$last = $page - 2;
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$last\">Last 3 Records</a>";
} else if ( $page > 0 )
{
$last = $page - 2;
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$last\">Last 3 Records</a> |";
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$page\">Next 3 Records</a>";
}
else if( $page == 0 )
{
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$page\">Next 3 Records</a>";
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]