Problemas Com Paginação
#1
Posted 06/11/2004, 21:43
Estou com outro problema. Preciso colocar uma paginação. Tudo cadastrado no DB. Tentei e com varios codigos que encontrei nas buscas mas não consegui sucesso!
A função é a seguinte:
<?
echo "<BR>";
echo "<b>";
echo " Busca por - ",strtoupper($palavra);
echo "</b>";
include("funcoes.php");
$db=conecta();
$sql = "select * from imoveis where (tipo like '%$palavra%') or (valor like '%$palavra%') or (cidade like '%$palavra%') or (bairro like '%$palavra%') or (edificio like '%$palavra%') or (dormitorios like '%$palavra%') order by valor ASC";
$result = mysql_query($sql) or die("Erro no SQL: ".mysql_error());
echo "<p>";
$quantidade=1;
$cor=0;
while ($campo = mysql_fetch_row($result))
{
if ($cor==0){
echo "<BR>";
echo "<table background= fundo.jpg width=450px height=110px border=0 cellpadding=0 cellspacing=0 align=center style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size: 7 pt'>";
echo "<tr border=0>";
echo "<th width='120' align='left'><a href=$campo[8] target=_blank><img src=",$campo[8]," width='100' height='75' align='left'>";
echo "<th valign='top' align='left'>","Descrição: ","<BR>","<BR>",($campo[2]);
echo "<BR>","<BR>";
echo "<font size=1 color='000000'>";
echo "Edifício: ", $campo[5];
echo "<tr>";
echo "<th align='center'>","R$ ",number_format ($campo[4],2,',',',');
echo "<th align='left'>","Bairro: ", ucfirst($campo[6]);
echo "<tr>";
echo "<th>";
echo "<th align='left'>","Área Privada: ", ucfirst($campo[3]);
echo "</table>";
$cor=1;
} else {
echo "<BR>";
echo "<table background= fundo.jpg width=450px height=110px border=0 cellpadding=0 cellspacing=0 align=center style='font-family:verdana; font-size: 7 pt'>";
echo "<tr border=0>";
echo "<th width='120' align='left'><a href=$campo[8] target=_blank><img src=",$campo[8]," width='100' height='75' align='left'>";
echo "<th valign='top' align='left'>","Descrição: ","<BR>","<BR>", strtolower($campo[2]);
echo "<BR>","<BR>";
echo "<font size=1 color='000000'>";
echo "Edifício: ", $campo[5];
echo "<tr>";
echo "<th align='center'>","R$ ",number_format ($campo[4],2,',',',');
echo "<th align='left'>","Bairro: ", ucfirst($campo[6]);
echo "<tr>";
echo "<th>";
echo "<th align='left'>","Área Privada: ", ucfirst($campo[3]);
echo "</table>";
$cor=0;
}
$quantidade+=1;
}
echo "<center>";
echo "<br>","encontrado(s) ",$quantidade-1," ocorrência(s)";
echo "<BR><BR>";
echo "</table>";
?>
Bom amigos,
Eu preciso de ajuda para colocar uma paginação que fique da seguinte forma:
Anterior | 1 | 2 | 3 | 4 | 5 | Próxima
onde o número em negrito é a página que está sendo exibida e não haja link nele. Lembrando q essa paginação é para mostrar os intens bd
#2
Posted 06/11/2004, 21:59
<? $conexao = mysql_connect("dbhost", "dbuser", "dbpasswd"); $db = mysql_select_db("dbname"); $sql = mysql_query("SELECT * FROM posts ORDER BY ID DESC"); $lpp = 5; // Especifique quantos resultados você quer por página $total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela $paginas = ceil($total / $lpp); // Retorna o total de páginas if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada $inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL $sql = mysql_query("SELECT * FROM posts ORDER BY ID DESC LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas. while($linha = mysql_fetch_array($sql)) { $CAMPOS= $linha["CAMPOS"]; $CAMPOS= $linha["CAMPOS"]; echo " EXIBE CONTEÚDO "; } if($pagina > 0) { $menos = $pagina - 1; $url = "$PHP_SELF?pagina=$menos"; echo "<a href='$url'>Anterior</a>"; // Vai para a página anterior } for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas $url = "$PHP_SELF?pagina=$i"; echo " | <a href='$url'>$i</a>"; } if($pagina < ($paginas - 1)) { $mais = $pagina + 1; $url = "$PHP_SELF?pagina=$mais"; echo " | <a href='$url'>Próxima</a>"; } ?>
a formatação fika por sua conta ok....
espero ter ajudado...
MSN: xzot@hotmail.com
mail: zot07@yahoo.com.br
________________________________________
#3
Posted 06/11/2004, 22:03
No teu script vai ficar assim..
<?
echo "Busca por - ".strtoupper($palavra);
include("funcoes.php");
$db=conecta();
$sql = "select * from imoveis where (tipo like '%$palavra%') or (valor like '%$palavra%') or (cidade like '%$palavra%') or (bairro like '%$palavra%') or (edificio like '%$palavra%') or (dormitorios like '%$palavra%')";
$result = mysql_query($sql) or die("Erro no SQL: ".mysql_error());
$total = mysql_num_rows($result);
$lpp = 10;
if(!isset($pagina)) { $pagina = 1; }
$rpag = $pagina - 1;
$paginas = ceil($total / $lpp);
$inicio = $rpag * $lpp;
$sql2 = "select * from imoveis where (tipo like '%$palavra%') or (valor like '%$palavra%') or (cidade like '%$palavra%') or (bairro like '%$palavra%') or (edificio like '%$palavra%') or (dormitorios like '%$palavra%') order by valor ASC LIMIT $inicio,$lpp";
$r = mysql_query($sql2) or die (mysql_error());
while ($campo = mysql_fetch_row($result)){
echo '<BR>
<table background= fundo.jpg width=450px height=110px border=0 cellpadding=0 cellspacing=0 align=center style="font-family:verdana; font-size: 7 pt">
<tr border=0>
<th width="120" align="left"><a href="'.$campo[8].'" target="_blank"><img src="'.$campo[8].'" width="100" height="75" align="left">
<th valign="top" align="left">Descrição: <BR><BR>'.strtolower($campo[2]).'
<BR><BR>
<font size=1 color="000000">
Edifício: '.$campo[5].'
<tr>
<th align="center">R$ '.number_format($campo[4],2,',',',').'
<th align="left">Bairro: '.ucfirst($campo[6]).'
<tr>
<th>
<th align="left">Área Privada: '.ucfirst($campo[3]).'
</table>';
}
if($pagina > 1) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
echo "<a href=$url>Anterior</a>"; // Vai para a página anterior
}
for($i=1;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
$url = "$PHP_SELF?pagina=$i";
echo " | <a href=$url>$i</a>";
}
if($pagina < ($paginas - 2)) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
echo " | <a href=$url>Próxima</a>";
}
echo "<center><br>encontrado(s) $total ocorrência(s></table>";
?>
Testa ae!
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#4
Posted 06/11/2004, 22:29
mas ele nao esta parando mostra tudo na primeira pagina eu cadastrei 14 itens ele mostra tudo na primeira
e tambem nao esta aparecendo o comando proxima
Edição feita por: jrdesing, 06/11/2004, 22:35.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)