paginação com erro
Oi pessoal!
Tenho alguns conhecimentos básicos de php e mysql, não o suficiente para resolver este problema!
Alguém pode ajudar?
O guestbook está a funcionar bem,, mas o link NEXT e PREVIOUS envia sempre para a mesma página embora o numero da página mude mas na realidade as entradas no banco de dados que ele mostra são sempre as mesmas....
Alguém consegue ver qual o problema?
Obrigada desde já! :)
Love x
<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name="guestbook"; // Table name
$id="id";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<style type="text/css">
<!--
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.style2 {color: #000000}
.style3 {font-family: Verdana, Arial, Helvetica, sans-serif}
#formGuest {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
}
a:link {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
text-decoration: none;
}
a:visited {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
text-decoration: none;
}
.letra {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
text-decoration: none;
}
.letra2 {
}
-->
</style>
</head>
<body>
<table width="978" height="381" border="0" align="center" cellspacing="0">
<tr>
<td width="976" align="center" valign="top" background="imagens/fundo.jpg"><table width="499" height="360" border="0" cellspacing="0">
<tr>
<td height="58" colspan="3" align="center" valign="middle"><p class="style2"><img src="imagens/header_gb.jpg" width="501" height="56" /></p></td>
</tr>
<tr>
<td width="51" rowspan="2" align="center" valign="middle"><p> </p>
<p><img name="" src="imagens/separador.jpg" width="49" height="20" alt="" /></p>
<p> </p></td>
<td width="400" height="61" align="center" valign="middle" class="letra"><table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><div align="center"><strong class="letra">view Guestbook |<a href="guestbook.php">Send message </a> | <a href="index.html">Homepage</a></strong></div></td>
</tr>
</table>
<br />
<?php
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");
/////////////////////////////////////////
////// Prevent Injection Attack /////////
////// Set $pageno variable /////////////
/////////////////////////////////////////
if(isset($_GET['pageno']))
{
if(!is_numeric($_GET['pageno']))
{
echo 'Error.';
exit();
}
$pageno = $_GET['pageno'];
}
else
{
$pageno=1;
}
$queryCount = "SELECT count(*) FROM $tbl_name";
$resultCount = mysql_query($queryCount);
$fetch_row = mysql_fetch_row($resultCount);
$numrows = $fetch_row[0];
// não há mensagens
if($numrows == 0)
{
echo 'Não tem mensagens!';
exit();
}
$perPage = 5;//nº de mensagens visiveis por página
$lastpage = ceil($numrows/$perPage);
$pageno = intval($pageno);
if($pageno < 1) $pageno=1;
elseif($pageno > $lastpage) $pageno=$lastpage;
//
if($pageno==1) {
//$pages.= 'FIRST | PREVIOUS';
}
else
{
$pages .= "<a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> | ";
$prevpage=$pageno-1;
$pages .= " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREVIOUS</a> ";
}
$pages .= ' ( Page '.$pageno.' of '.$lastpage.' ) ';
if($pageno==$lastpage){
//$pages .= ' NEXT | LAST ';
}
else
{
$nextpage = $pageno+1;
$pages .= " <a href='".$_SERVER['PHP_SELF']."?pageno=$nextpage'>NEXT</a> | ";
$pages .= " <a href='".$_SERVER['PHP_SELF']."?pageno=$lastpage'>LAST</a>";
}
$sql="SELECT guestbook.* FROM $tbl_name ORDER BY $id DESC LIMIT $perPage";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
?>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td><table width="400" border="0" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF" class="letra">
<tr>
<td width="56">Name:</td>
<td colspan="3"><div align="left"><a href="mailto:<? echo $rows['email']; ?>"><? echo $rows['name']; ?>
</a></div></td>
<td width="130"><? echo $rows['datetime']; ?></td>
</tr>
<tr>
<td colspan="5" bgcolor="#AAC4AC"> </td>
</tr>
<tr>
<td valign="top">Comment</td>
<td colspan="4" align="left" valign="top"><div align="left"><? echo $rows['comment'];
?></div>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td width="60" valign="top"> </td>
<td colspan="3"> </td>
</tr>
</table></td>
</tr>
</table>
<BR>
<?
}
mysql_close(); //close database
?>
<?php
echo $pages;
echo "<br/><br/>comentários: ".$numrows;
?>
<br />
<br />
<br />
<hr /></td><td width="42" rowspan="2" align="center" valign="middle"><img name="" src="imagens/separador.jpg" width="49" height="20" alt="" /></td>
</tr>
<tr>
<td height="21" align="center" valign="middle"> </td>
</tr>
<tr>
<td colspan="3" align="center" valign="middle"> </td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>Discussão (1)
Carregando comentários...