Jump to content


Photo

Problemas Com Paginação


  • Faça o login para participar
3 replies to this topic

#1 jrdesing

jrdesing

    12 Horas

  • Usuários
  • 256 posts
  • Sexo:Não informado
  • Localidade:Criciúma - SC
  • Interesses:Flash - Dreamwearer - JavaScript - PHP

Posted 06/11/2004, 21:43

Olá amigos,

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 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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
Não Pare De Sonhar, Porque Se o Sonho Acaba a Vida Também!!!

#2 zot

zot

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 06/11/2004, 21:59

abaixo vai o codigo de paginação:

<?
$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 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 06/11/2004, 22:03

Amigo..
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!
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 jrdesing

jrdesing

    12 Horas

  • Usuários
  • 256 posts
  • Sexo:Não informado
  • Localidade:Criciúma - SC
  • Interesses:Flash - Dreamwearer - JavaScript - PHP

Posted 06/11/2004, 22:29

Testei aparece o link la em baixo com o numero 1,
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.

Não Pare De Sonhar, Porque Se o Sonho Acaba a Vida Também!!!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq