0

Classe Navbar (Paginação de Resultados)

criado por João Prado Maia em 23/03/2002 1:06am
Classe muito útil para criar automaticamente links de navegação, como "Página Anterior", "Próxima Página" e os links de numeração de páginas. É totalmente customizável, e roda com MySQL e PostgreSQL.
Data Autor Changelog Download
19/11/2000 4:19am João Prado Maia - Versão 1.0
26/09/2001 2:25pm João Prado Maia Versão 1.1 Versão 1.1
08/10/2001 1:31pm João Prado Maia - Versão 1.2
04/05/2002 9:37am Thomas Gonzalez Miranda Versão 1.3 Versão 1.3
09/05/2002 9:40am Marco Antonio Diniz Freitas Versão 1.4 Versão 1.4
31/05/2003 9:40pm Eduardo klehm - -
30/01/2004 5:47am Gustavo Villa Versão 1.5 Versão 1.5
26/06/2006 11:43am Paulo Enok Sawazaki Versão 1.6 Versão 1.6
25/02/2007 9:21pm Lauro Assis Lima de Brito Versão 1.7 Versão 1.7

Comentários:

Mostrando 1 - 10 de 12 comentários
como pagina este resultado, se o início é em if>

if ($_GET['search']=='1')
{
$sql="";
if ($_POST['s_male']=='1' && $_POST['s_female']!='1') $sql .= " AND users.gender=0";
if ($_POST['s_male']!='1' && $_POST['s_female']=='1') $sql .= " AND users.gender=1";
if ($_POST['s_country']!='NULL') $sql .= " AND users.country=" . $_POST['s_country'];

if ($_POST['s_single']=='1') $sql .= " AND (users.status=0 OR";
else $sql .= " AND (";
if ($_POST['s_commited']=='1') $sql .= " users.status=1 OR";
else $sql .= "";
if ($_POST['s_married']=='1') $sql .= " users.status=2 OR";
else $sql .= "";
if ($_POST['s_openrelation']=='1') $sql .= " users.status=3 OR";
else $sql .= "";
$sql .= " 1=2) ";

if ($_POST['s_friends']=='1') $sql .= " AND users.looking_friends=1";
//else $sql .= " AND (users.looking_friends=0";
if ($_POST['s_business']=='1') $sql .= " AND users.looking_business=1";
//else $sql .= " OR users.looking_business=0";
if ($_POST['s_dating']=='1') $sql .= " AND users.looking_dating=1";
//else $sql .= " OR users.looking_dating=0)";

}
$rs = mysql_query("SELECT countries.name as user_country, users.first_name, users.last_name, users.status, users.country, users.gender, users.about_me, users.info1, users.id as id FROM users LEFT JOIN countries ON users.country=countries.id WHERE 1=1 ". $sql ." order by RAND() LIMIT 25", $db)
or bug("Database error, please try again");
08/07/2007 10:57pm (~17 anos atrás)

Depois de publicado eu peguei um bug na parte que calculava a quantidade de links. Quando chegava na ultima pagina não estava sendo mostrado a barra de navegação devido a um erro de lógica.

O correto é:
if ($num_mult_pag <= $this->max_links) {
$max=$num_mult_pag;
}
elseif ($inicio + $this->max_links > $num_mult_pag) {
$max=$num_mult_pag-$inicio;
}
else {
$max=$this->max_links;
}
25/02/2007 9:49pm (~17 anos atrás)

Lyma disse:
Cuidado - NÃO BAIXE a Versão 2.5.5 é uma corrente/vírus!

Não baixem nenhum aquivo de Anderson Camargo
http://www.phpbrasil.com/profile.php/user/and2006

Usuário vem se aproveitando dos scripts mais baixados para injetar seus arquivos para download!
19/06/2006 7:28am (~18 anos atrás)

Cauan Cabral disse:
Estou utilizando a versão 1.5 da classe, faço a paginação normalmente, os links são criados, porém, é duplicado os links das extremidades(próxima página, e página anterior). Cada um aparece duas vezes. Alguém sabe o que poder vir a ser?
03/05/2006 6:13pm (~18 anos atrás)

André Miani disse:
nao sei porque mas quando uso um select formato tabela.campo nao funciona:

$query = "SELECT e.id, e.codigo, e.titulo, e.barrio, e.foto, e.info_curta, e.valor, e.contador, e.fecha_registro FROM emprendimientos e, categorias c WHERE e.barrio=c.id AND c.id_parent='".$_POST['id_parent']."'";

alguem poderia me ajudar?
02/05/2006 6:23am (~18 anos atrás)

Não sei se é problema de versão do PG.
Na versão do script, existe um erro dentro da função executar(), no tipo de pesquisa para postgresql.

Está:
$sql .= " LIMIT $this->num_pesq_pag, $comeco";

No meu caso o correto é:
$sql .= " LIMIT $this->num_pesq_pag OFFSET $inicio_pesq";

tt
Ricardo
29/07/2004 5:08pm (~20 anos atrás)

Gustavo Villa disse:
Eu acho que daria para criar um método Standard para deixar alguns itens da classe padronizados e somente alterar as configurações caso seja necessário. Estou remodelando essa classe, inclusive fazendo-a uma classe filha de outra que tornará mais rápido a pesquisa no banco de dados (seja por meio de uma busca ou por uma listagem pré-definida)

Está ficando bem legal. Assim que terminar eu posto ela aqui.
Tks!
05/02/2004 1:33pm (~20 anos atrás)

Lyma disse:
MAs como funcionaria isso, como o "include" saberia o quanto paginar?
14/10/2002 6:28am (~21 anos atrás)

Esse negócio de paginação é um problema meio genérico. Será que não dá para resolver de maneira geérica? Não daria para escrever algo que pudesse ser usado como "include", que aproveitaria uma variável $query , por exemplo? Daí era só "include" no rodapé. Tenho 4 desses tutoriais aqui, e simplesmente não consegui fazer funcionar nehum deles..
23/05/2002 12:12am (~22 anos atrás)

Tipo, eu estou tentando usar a versão 1.3, mas estou com um probleminha.

Eu quero só exibir os links limitados, mas não consigo, se eu apago a parte que exibe os links totais, e deixo o código para exibir os links limitados, some as duas paginações... como que eu resolvo isso?

E outra coisa, na página um deveria aparecer Próxima Página, mas não aparece, aparece só os números... como posso resolver isso? Já que isso não acontecia na primeira versão...

Preciso muito de uma resposta...
01/05/2002 12:20pm (~22 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)