ニュースが複数のページに分割されているサイトに取り組んでいます。既にこのための PHP コードをいくつか持っていますが、正しく動作していないようです。私のサイトのニュースは正しく分割されていますが、メッセージが 1 ページ分しかない場合でも、[次へ] ボタンが表示され、空のページをスクロールできます。私はPHPに比較的慣れていないので、これに対する解決策を思いつくことができませんでした.ここの誰かが助けてくれることを願っています.
コードは次のとおりです。
else {
$conn = mysql_connect($host, $user, $pass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('nieuws');
$rec_limit = 3;
$sql = "SELECT count(id) FROM updates ";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
$row = mysql_fetch_array($retval, 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);
$sql = "SELECT id, titel, inleiding, bericht, datum ".
"FROM updates ".
"LIMIT $offset, $rec_limit";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
echo "<hr>";
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$intro = substr($row['bericht'], 0, 330);
echo '<b style="font-size:18px;font-family:Arial,Helvetica,sans-serif;color:#2B2B2B;">'.htmlspecialchars(stripslashes($row['titel'])).'</b> <br> '.
'<i style="font-size:13px;">'.htmlspecialchars(stripslashes($row['datum'])).'</i><br><br> '.
"{$row['inleiding']}".
'... <a href="'.$_SERVER['PHP_SELF'].'?id='.$row['id'].'">Lees verder</a><br><br><br>';
echo '<hr>';
}
if( $page > 0 )
{
$last = $page - 2;
echo "<a style=\"margin-left:0px;\"href=\"{$_SERVER['PHP_SELF']}?page=$last\">Vorige</a>";
echo "<a style=\"margin-left:645px;\" href=\"{$_SERVER['PHP_SELF']}?page=$page\">Volgende</a>";
}
else if( $page == 0 )
{
echo "<a style=\"margin-left:685px;\" href=\"{$_SERVER['PHP_SELF']}?page=$page\">Volgende</a>";
}
else if( $left_rec < $rec_limit )
{
$last = $page - 2;
echo "<a style=\"margin-left:0px;\" href=\"{$_SERVER['PHP_SELF']}?page=$last\">Vorige</a>";
}
echo '<br><br><br>';