Ir para conteúdo
Fórum Script Brasil
  • 0

Pagina com combobox


aprendiz_ce

Pergunta

Sou iniciante em PHP e necessito fazer um formulário de consultas com paginação, só que eu queria algo como a paginação utilizando combo, ou seja, um link para as paginas anterior, uma caixa de seleção de pagina (combo) e um link para as paginas seguintes. Será que alguém poderia me passar uma pequeno exemplo de como se faz isso?

Grato e aguardo qualquer tipo de ajuda.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Sou iniciante em PHP e necessito fazer um formulário de consultas com paginação, só que eu queria algo como a paginação utilizando combo, ou seja, um link para as paginas anterior, uma caixa de seleção de pagina (combo) e um link para as paginas seguintes. Será que alguém poderia me passar uma pequeno exemplo de como se faz isso?

Grato e aguardo qualquer tipo de ajuda.

você quer que em vez de:

Anterior 1. 2. 3 Proximo

fique:

select (combo) para selecionar em qual página ir

?

Seja um pouco mais claro, não entendi bem!

Link para o comentário
Compartilhar em outros sites

  • 0
Sou iniciante em PHP e necessito fazer um formulário de consultas com paginação, só que eu queria algo como a paginação utilizando combo, ou seja, um link para as paginas anterior, uma caixa de seleção de pagina (combo) e um link para as paginas seguintes. Será que alguém poderia me passar uma pequeno exemplo de como se faz isso?

Grato e aguardo qualquer tipo de ajuda.

você quer que em vez de:

Anterior 1. 2. 3 Proximo

fique:

select (combo) para selecionar em qual página ir

?

Seja um pouco mais claro, não entendi bem!

Olá,

É isso mesmo. Exemplo: << anterior | 1 | proximo >> Aonde tem o número "1" seria um combo para selecionar a pagina.

Grato pela sua atenção e aguardo retorno.

Pelo que eu entendi, ele quer que fique:

Anterior [2]Próxima

Onde [2] é o List/Menu, que mostra a página atual e dá opção de escolher qual página quer abrir..

Abrass

Olá,

É isso mesmo.

Grato pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

a não então não seria combo, pois combo na programação conhecemos como o select do php, rsrsrsrsrsr.

Cara seguinte, é um código um pouco complicado de se fazer, (Paginação), porém não tem segredo não.

1º passo, você tem que definir de quando em quando o select irá trazer informações do bd para você e uma referencia $_GET de pagina, para ficar assim: (pagina.php?pagina=1). Onde pagina é a get e 1 é o primeiro quadrante do seu select.

2º passo, fazer o calculo para trazer a quantidade exata de registros por página, 10 - 20 - 30 etc.

3º passo, criar o while, for, swith, qualquer função de laço para trazer os dados do bd.

4º passo e ultimo, fazer os links e html da pagina padrão, que irá servir para as _GET, com os links de preferencia sua, primeiro, anterior, 1 2 3 4 5 6 proximo, ultimo.

DICA: existe comandos já no mysql (consultas), que lhe trará o ultimo e o primeiro registro, não há necessidade de código. Até no proprio php.

exemplo:

<?php

// Pegar a página atual por GET

$p = $_GET["_GET"];

// Verifica se a variável tá declarada, senão deixa na primeira página como padrão

if(isset($p)) {
$p = $p;
} else {
$p = 1;
}
// Defina aqui a quantidade máxima de registros por página.

$qnt = 10;

// O sistema calcula o início da seleção calculando: 
// (página atual * quantidade por página) - quantidade por página

$inicio = ($p*$qnt) - $qnt;

// Seleciona no banco de dados com o LIMIT indicado pelos números acima

$sql_select = "select * from tabela LIMIT $inicio, $qnt";

// Executa o Query

$sql_query = mysql_query($sql_select);

// Cria um while para pegar as informações do BD

while($array = mysql_fetch_array($sql_query)) {

// Variável para capturar o campo 'nome' no banco de dados

    $campo = $array["campo"];
    $campo = $array["campo"];

// Exibe o nome que está no BD e pula uma linha

echo "html seu";
}

// Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...)
echo "<br />";

// Faz uma nova seleção no banco de dados, desta vez sem LIMIT, 

// para pegarmos o número total de registros

$sql_select_all = "SELECT * FROM tabela";

// Executa o query da seleção acimas

$sql_query_all = mysql_query($sql_select_all);

// Gera uma variável com o número total de registros no banco de dados

$total_registros = mysql_num_rows($sql_query_all);

// Gera outra variável, desta vez com o número de páginas que será precisa. 

// O comando ceil() arredonda 'para cima' o valor

$pags = ceil($total_registros/$qnt);

// Número máximos de botões de paginação

$max_links = 3;

// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)

echo "<div align='center'><a class='paginacaoalfa' href='.pagina.php?_GET=1' target='_self'> Primeira Página </a> ";

// Cria um for() para exibir os 3 links antes da página atual

for($i = $p-$max_links; $i <= $p-1; $i++) {

// Se o número da página for menor ou igual a zero, não faz nada

// (afinal, não existe página 0, -1, -2..)

if($i <=0) {

//faz nada

// Se estiver tudo OK, cria o link para outra página

} else {

echo "<a class='paginacao' href='pagina.php?_GET=".$i."' target='_self'>".$i."</a> ";
}
}

// Exibe a página atual, sem link, apenas o número

echo "<font color=red size=3 family=Verdana, Arial, Helvetica, sans-serif>$p.";

// Cria outro for(), desta vez para exibir 3 links após a página atual

for($i = $p+1; $i <= $p+$max_links; $i++) {

// Verifica se a página atual é maior do que a última página. Se for, não faz nada.

if($i > $pags)
{

//faz nada
}

// Se tiver tudo Ok gera os links.

else
{

echo "<a class='paginacao' href='pagina.php?_GET=".$i."' target='_self'>".$i."</a>";
}

}

// Exibe o link "última página"

echo "<a class='paginacaoalfa' href='pagina.php?_GET=".$pags."' target='_self'> Última Página </div><br>";
      
?>

Este código funciona perfeitamente, uso em minhas aplicações, só coloca nos seus moldes e pode usa-lo.

Espero ter ajudado amigo.

Link para o comentário
Compartilhar em outros sites

  • 0
a não então não seria combo, pois combo na programação conhecemos como o select do php, rsrsrsrsrsr.

Cara seguinte, é um código um pouco complicado de se fazer, (Paginação), porém não tem segredo não.

1º passo, você tem que definir de quando em quando o select irá trazer informações do bd para você e uma referencia $_GET de pagina, para ficar assim: (pagina.php?pagina=1). Onde pagina é a get e 1 é o primeiro quadrante do seu select.

2º passo, fazer o calculo para trazer a quantidade exata de registros por página, 10 - 20 - 30 etc.

3º passo, criar o while, for, swith, qualquer função de laço para trazer os dados do bd.

4º passo e ultimo, fazer os links e html da pagina padrão, que irá servir para as _GET, com os links de preferencia sua, primeiro, anterior, 1 2 3 4 5 6 proximo, ultimo.

DICA: existe comandos já no mysql (consultas), que lhe trará o ultimo e o primeiro registro, não há necessidade de código. Até no proprio php.

exemplo:

<?php

// Pegar a página atual por GET

$p = $_GET["_GET"];

// Verifica se a variável tá declarada, senão deixa na primeira página como padrão

if(isset($p)) {
$p = $p;
} else {
$p = 1;
}
// Defina aqui a quantidade máxima de registros por página.

$qnt = 10;

// O sistema calcula o início da seleção calculando: 
// (página atual * quantidade por página) - quantidade por página

$inicio = ($p*$qnt) - $qnt;

// Seleciona no banco de dados com o LIMIT indicado pelos números acima

$sql_select = "select * from tabela LIMIT $inicio, $qnt";

// Executa o Query

$sql_query = mysql_query($sql_select);

// Cria um while para pegar as informações do BD

while($array = mysql_fetch_array($sql_query)) {

// Variável para capturar o campo 'nome' no banco de dados

    $campo = $array["campo"];
    $campo = $array["campo"];

// Exibe o nome que está no BD e pula uma linha

echo "html seu";
}

// Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...)
echo "<br />";

// Faz uma nova seleção no banco de dados, desta vez sem LIMIT, 

// para pegarmos o número total de registros

$sql_select_all = "SELECT * FROM tabela";

// Executa o query da seleção acimas

$sql_query_all = mysql_query($sql_select_all);

// Gera uma variável com o número total de registros no banco de dados

$total_registros = mysql_num_rows($sql_query_all);

// Gera outra variável, desta vez com o número de páginas que será precisa. 

// O comando ceil() arredonda 'para cima' o valor

$pags = ceil($total_registros/$qnt);

// Número máximos de botões de paginação

$max_links = 3;

// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)

echo "<div align='center'><a class='paginacaoalfa' href='.pagina.php?_GET=1' target='_self'> Primeira Página </a> ";

// Cria um for() para exibir os 3 links antes da página atual

for($i = $p-$max_links; $i <= $p-1; $i++) {

// Se o número da página for menor ou igual a zero, não faz nada

// (afinal, não existe página 0, -1, -2..)

if($i <=0) {

//faz nada

// Se estiver tudo OK, cria o link para outra página

} else {

echo "<a class='paginacao' href='pagina.php?_GET=".$i."' target='_self'>".$i."</a> ";
}
}

// Exibe a página atual, sem link, apenas o número

echo "<font color=red size=3 family=Verdana, Arial, Helvetica, sans-serif>$p.";

// Cria outro for(), desta vez para exibir 3 links após a página atual

for($i = $p+1; $i <= $p+$max_links; $i++) {

// Verifica se a página atual é maior do que a última página. Se for, não faz nada.

if($i > $pags)
{

//faz nada
}

// Se tiver tudo Ok gera os links.

else
{

echo "<a class='paginacao' href='pagina.php?_GET=".$i."' target='_self'>".$i."</a>";
}

}

// Exibe o link "última página"

echo "<a class='paginacaoalfa' href='pagina.php?_GET=".$pags."' target='_self'> Última Página </div><br>";
      
?>

Este código funciona perfeitamente, uso em minhas aplicações, só coloca nos seus moldes e pode usa-lo.

Espero ter ajudado amigo.

Olá, Bom Dia!

Sobre a TAG SELECT me desculpe, pois achei que se eu mencionasse "caixa de seleção (combo)" todos saberiam o que exatamente eu estava necessitando. Na próxima não "erro" mais (rs)!

Acho que a sua rotina está exatamente como eu necessito, estarei testando e darei retorno o quanto antes.

Muitíssimo obrigado pela sua atenção.

Um forte abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
a não então não seria combo, pois combo na programação conhecemos como o select do php, rsrsrsrsrsr.

Cara seguinte, é um código um pouco complicado de se fazer, (Paginação), porém não tem segredo não.

1º passo, você tem que definir de quando em quando o select irá trazer informações do bd para você e uma referencia $_GET de pagina, para ficar assim: (pagina.php?pagina=1). Onde pagina é a get e 1 é o primeiro quadrante do seu select.

2º passo, fazer o calculo para trazer a quantidade exata de registros por página, 10 - 20 - 30 etc.

3º passo, criar o while, for, swith, qualquer função de laço para trazer os dados do bd.

4º passo e ultimo, fazer os links e html da pagina padrão, que irá servir para as _GET, com os links de preferencia sua, primeiro, anterior, 1 2 3 4 5 6 proximo, ultimo.

DICA: existe comandos já no mysql (consultas), que lhe trará o ultimo e o primeiro registro, não há necessidade de código. Até no proprio php.

exemplo:

<?php

// Pegar a página atual por GET

$p = $_GET["_GET"];

// Verifica se a variável tá declarada, senão deixa na primeira página como padrão

if(isset($p)) {
$p = $p;
} else {
$p = 1;
}
// Defina aqui a quantidade máxima de registros por página.

$qnt = 10;

// O sistema calcula o início da seleção calculando: 
// (página atual * quantidade por página) - quantidade por página

$inicio = ($p*$qnt) - $qnt;

// Seleciona no banco de dados com o LIMIT indicado pelos números acima

$sql_select = "select * from tabela LIMIT $inicio, $qnt";

// Executa o Query

$sql_query = mysql_query($sql_select);

// Cria um while para pegar as informações do BD

while($array = mysql_fetch_array($sql_query)) {

// Variável para capturar o campo 'nome' no banco de dados

    $campo = $array["campo"];
    $campo = $array["campo"];

// Exibe o nome que está no BD e pula uma linha

echo "html seu";
}

// Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...)
echo "<br />";

// Faz uma nova seleção no banco de dados, desta vez sem LIMIT, 

// para pegarmos o número total de registros

$sql_select_all = "SELECT * FROM tabela";

// Executa o query da seleção acimas

$sql_query_all = mysql_query($sql_select_all);

// Gera uma variável com o número total de registros no banco de dados

$total_registros = mysql_num_rows($sql_query_all);

// Gera outra variável, desta vez com o número de páginas que será precisa. 

// O comando ceil() arredonda 'para cima' o valor

$pags = ceil($total_registros/$qnt);

// Número máximos de botões de paginação

$max_links = 3;

// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)

echo "<div align='center'><a class='paginacaoalfa' href='.pagina.php?_GET=1' target='_self'> Primeira Página </a> ";

// Cria um for() para exibir os 3 links antes da página atual

for($i = $p-$max_links; $i <= $p-1; $i++) {

// Se o número da página for menor ou igual a zero, não faz nada

// (afinal, não existe página 0, -1, -2..)

if($i <=0) {

//faz nada

// Se estiver tudo OK, cria o link para outra página

} else {

echo "<a class='paginacao' href='pagina.php?_GET=".$i."' target='_self'>".$i."</a> ";
}
}

// Exibe a página atual, sem link, apenas o número

echo "<font color=red size=3 family=Verdana, Arial, Helvetica, sans-serif>$p.";

// Cria outro for(), desta vez para exibir 3 links após a página atual

for($i = $p+1; $i <= $p+$max_links; $i++) {

// Verifica se a página atual é maior do que a última página. Se for, não faz nada.

if($i > $pags)
{

//faz nada
}

// Se tiver tudo Ok gera os links.

else
{

echo "<a class='paginacao' href='pagina.php?_GET=".$i."' target='_self'>".$i."</a>";
}

}

// Exibe o link "última página"

echo "<a class='paginacaoalfa' href='pagina.php?_GET=".$pags."' target='_self'> Última Página </div><br>";
      
?>

Este código funciona perfeitamente, uso em minhas aplicações, só coloca nos seus moldes e pode usa-lo.

Espero ter ajudado amigo.

Olá, Bom Dia!

Sobre a TAG SELECT me desculpe, pois achei que se eu mencionasse "caixa de seleção (combo)" todos saberiam o que exatamente eu estava necessitando. Na próxima não "erro" mais (rs)!

Acho que a sua rotina está exatamente como eu necessito, estarei testando e darei retorno o quanto antes.

Muitíssimo obrigado pela sua atenção.

Um forte abraço.

Analisei o codigo, mas o mesmo é parecido com um que eu já uso. O mesmo não monta a paginação com TAG SELECT (combo). Como faço isso?

Grato.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...