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

Alguem Poderia Me Encinar?


Perfect Lion

Pergunta

Ai pessoal eu já sei programar em php mais tem algumas coisa que ainda para mim é dificil...e venho atravez desse tópico pedir uma ajudinha para criar uma paginação para o meu banco de dados pelo php...

se poderem me passar a logica dele ai eu já saberei como criar... e assim postarei o minhas dificuldades aqui ok

desde já agradeço pela ajuda... wink.gif

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Fala, seu Lion.

gostaria de ti ajudar, mas to engatinhando no php agora!

um abraço!

robson - 007  smile.gif

flood? rolleyes.gif

------------------------------------------------------------------------------------------------------------------------------------------------------

Você quer fazer uma paginação normal? Dados vindos do MySQL? Uma id auto_increment? É isso ou tem mais alguma coisa que você queira saber? huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

007 e você mesmo cara???? e quem eu tou pensando???

Error404:

Eu já tenho uma pagina de pesquisa que fiz e eu coloquei para mostrar somente 10 por pagina certo mais tem registros que contem mais de 20 e então ele não mostra esses resultados que estão faltando... e pesnei bem vou criar uma paginação e ai que eu tou implacado...

Olha como ta..

http://www.paodemugen.com.br/database.php

digita "Chip" sem aspas.. contem uns 5 chips e eu mandei ele mostrar somente 2 de cada vez para fazer test de paginação e você vai ver que num funfunfa esse codigo que eu instalei nele então resolvi vim aqui e pedir uma ajudinha a você se me passarem o geito que tem que ser feito eu faço só preciso da logica..

Essa paginação que ta nele ai nem liga ta com erro pois ele ta jogando uma pagina em branco...

falou

Link para o comentário
Compartilhar em outros sites

  • 0

Legal...

Mas essa sua busca retorna resultados diferentes para "chip" e "Chip"?

Quando eu busco por "Chip", os resultados ficam azuis, "chip" não.

Acho que você poderia, de repente, no futuro, aprender alguma coisa de REG_EXP e colocar uma funçãozinha que resolve esse problema... smile.gif

Sobre a paginação, ela é composta basicamente de 2 etapas:

1ª· Paginação dos resultados em si.

2ª· Criação do índice [aqueles links, próxima, anterior, última, etc].

Bom, seguinte, você sabe como funciona o LIMIT, né? Imagino que você tenha usado ele pra restringir o número de linhas retornadas, certo?

Se usou outro método, diz aí... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

pode ser assim:

codigo por PERNAMBUCO_FJV [link]

1. Criar a tabela de estados

CREATE TABLE tb_estados (

  codigo int(11) NOT NULL DEFAULT '0' auto_increment,

  uf char(2) ,

  estado varchar(40) ,

  PRIMARY KEY (codigo));

2. "Popular" a base de dados

INSERT INTO tb_estados VALUES("1","AC","Acre");

INSERT INTO tb_estados VALUES("2","AL","Alagoas");

INSERT INTO tb_estados VALUES("3","AP","Amapá");

INSERT INTO tb_estados VALUES("4","AM","Amazonas");

INSERT INTO tb_estados VALUES("5","BA","Bahia");

INSERT INTO tb_estados VALUES("6","CE","Ceará");

INSERT INTO tb_estados VALUES("7","DF","Distrito Federal");

INSERT INTO tb_estados VALUES("8","ES","Espírito Santo");

INSERT INTO tb_estados VALUES("9","GO","Goiás");

INSERT INTO tb_estados VALUES("10","MA","Maranhão");

INSERT INTO tb_estados VALUES("11","MT","Mato Grosso");

INSERT INTO tb_estados VALUES("12","MS","Mato Grosso do Sul");

INSERT INTO tb_estados VALUES("13","MG","Minas Gerais");

INSERT INTO tb_estados VALUES("14","PA","Pará");

INSERT INTO tb_estados VALUES("15","PB","Paraíba");

INSERT INTO tb_estados VALUES("16","PR","Paraná");

INSERT INTO tb_estados VALUES("17","PI","Piauí");

INSERT INTO tb_estados VALUES("18","RN","Rio Grande do Norte");

INSERT INTO tb_estados VALUES("19","RS","Rio Grande do Sul");

INSERT INTO tb_estados VALUES("20","RJ","Rio de Janeiro");

INSERT INTO tb_estados VALUES("21","RO","Rondônia");

INSERT INTO tb_estados VALUES("22","RR","Roraima");

INSERT INTO tb_estados VALUES("23","SC","Santa Catarina");

INSERT INTO tb_estados VALUES("24","SE","Sergipe");

INSERT INTO tb_estados VALUES("25","TO","Tocantins");

INSERT INTO tb_estados VALUES("26","SP","São Paulo");

INSERT INTO tb_estados VALUES("27","PE","Pernambuco");

3. Criando a página index.php

<html>

<head>

  <title>Coluna iMasters PHP/MySQL</title>

</head>

<body bgcolor=#FFFFFF>

if (!isset($pg)) // variavel $pg é a pagina atual

  $pg = 0;

  $inicial = $pg * 5; // este 5 é o número de resultados por tela

####### vai pegar os resultados mesmo...

$pegar = "SELECT estado FROM tb_estados ORDER BY estado LIMIT $inicial,5"; // esta variavel $inicial vai ser qual é o registro de inicio

$cad = mysql_db_query("db","$pegar") or die (mysql_error()); // mude o db para o nome do seu

##### até aqui

##### Aqui vai contar o total de registros para saber o total de paginas que será usado

$contar = "SELECT estado FROM tb_estados ORDER BY estado";

$contarok= mysql_db_query("db","$contar"); // mude o db para o nome do seu

$total_records = mysql_num_rows($contarok);

$pages = intval($total_records / 5); // caso você mostre outra quantidade, mude o 5 aqui pela quantidade que você quer mostrar

#### Imprimindo os estados

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

  echo $array['estado];

}

######## criando os links dinâmicos

if ($pg <> 0) {

  $url = $pg - 1;

  echo "<a id=mulink href="$PHP_SELF?pg=$url">5 anteriores</a> ";

}

else {

  echo " ";

}

for ($i = 0; $i<($pages + 1); $i++) {

  if ($i == $pg) {

    echo "<font face=Arial size=2 color=ff0000><b>&nbsp;&nbsp;$i&nbsp;&nbsp;</b></font>";

  }

  else {

   echo "<a id=mulink href="$PHP_SELF?pg=$i">&nbsp;&nbsp;$i&nbsp;&nbsp;</a>";

  }

}

if ($pg < $pages) {

  $url = $pg + 1;

  echo "<a id=mulink href="$PHP_SELF?pg=$url"> Próximos 5</a> ";

}

else {

  echo " ";

}

?>

  </body>

</html>

Editado por kafunga
Link para o comentário
Compartilhar em outros sites

  • 0

Ai tenta isso!!!

$resultadospg = 10;
$busca = mysql_query("SELECT * FROM $classe ORDER BY id_$classe DESC") or 
$lpp = $resultadospg; //numero de resultado por pagina
$total = mysql_num_rows($busca); 
$paginas = ceil($total / $lpp); // divide o total de linha na tabela pelo numero de resultado
if(!isset($pagina)) { $pagina = 0; } 
$inicio = $pagina * $lpp; 
$buscar = mysql_query("SELECT * FROM $classe ORDER BY id_$classe DESC LIMIT $inicio, $lpp"); 
while($linha = mysql_fetch_array($buscar)){
$texto= $linha["texto"];
}
echo "$texto";
//mostra um link pra pagina anterior
if($pagina > 0) {
   $menos = $pagina - 1;
   $url = "index.php?jas=$classe&saj=page&classe=$classe&pagina=$menos";
    echo "<div align=\"center\"><font size=\"2\"><a href='".$url."'>Anterior</a></font></div>"; 
}	
  
echo $link_numero;
//mostra um link pra pagina posterior
if($pagina < ($paginas - 1)) {
   $mais = $pagina + 1;
   $url = "index.php?jas=$classe&saj=page&classe=$classe&pagina=$mais";
    echo "<div align=\"center\"><font size=\"2\"><a href='".$url."'>Proxima</a></font></div>";
   }   

qualquer coisa posta ai

avisando esse codigo não é totalmente meu (feito por min)

Link para o comentário
Compartilhar em outros sites

  • 0

Error404:

Eu percebi esse tipo de erro que com Chip ele fica em azul e chip não num entendi porque ele num transforma em azul também...:s

O LIMIT eu sei usar sim, sei que LIMIT 0, 5, mostra do 0 ao 4 pois ele lé o 0 como 1, e LIMIT 5, 10, Mostra do 5 ao 9 pois ele começa do 5 smile.gif...

Agora sobre o REGEXP , eu já estou usando ele para a seguinte vereficação... c você perceber o campo categoria tem chars e stages então fiz um REGEXP nele para ele encontrar somente com a quela categoria correto.. isso foi o que eu entendi no mysql.org...

Esse script ai eu já havia visto também mais num entendi a logica pois eu quero eu criar o script sem ter o script dos outros pois assim não estarei aprendendo mais sim tendo resolvido o problema mais se eu foçe ter que fazer isso novamente como eu iria fazer ai que o bixo pega entende é melhor eu saber fazer do que depois ficar procurando script que é bom alguns até encinam você...

Vamos usar esse script que está ai para me ajudar a entender a construção da PAGINAÇÃO... ok...

Vou explicar o que eu vojo nesse script caso eu estaja erra me corrijam pois estarei aprendendo...

if (!isset($pg)) // Aqui verefica se a variavel $pg contem algum valor

  $pg = 0; //Aqui ele inicia a variavel em 0 pois isso é quando não existe consulta.

  $inicial = $pg * 5; //Aqui está mutiplicando o valor da var $pg por 5 que é o nomero de respostas da minha consulta que eu quero que mostre como no começo está $pg = 0 ficará = 0 assim não mostara nenhum resultado e assim mostra-ra caso esse valor seja motiplicado por algum numero certo?

####### vai pegar os resultados mesmo...

$pegar = "SELECT estado FROM tb_estados ORDER BY estado LIMIT $inicial,5"; // aqui ele pega a variavel inicial que foi motiplicado por 5 e joga o resultado no LIMIT e eu num entendi esse 5 ai pois se a var tiver o valo acima de 5 não vai mostrar nenhum resultado pelo que eu estou vendo. correto??$cad = mysql_db_query("db","$pegar") or die (mysql_error()); // Aqui coneção com a tabela do banco de dados

##### até aqui

##### Aqui vai contar o total de registros para saber o total de paginas que será usado

$contar = "SELECT estado FROM tb_estados ORDER BY estado";// Aqui ele verifica todos os resultados contido no campo estado ele puxa todas as linhas pois aqui não tem o comando LIMIT..

$contarok= mysql_db_query("db","$contar"); // Aqui coneção com a tabela do banco de dados

$total_records = mysql_num_rows($contarok);// Nesse ele conta quantos registro tem na variavel $contar pois o $contarok só ta selecionando a tabela e jogando o $contar certo...

$pages = intval($total_records / 5); //Essa linha não entendi pelo que eu estou vendo ele transforma o valor da variavel $pages em numeros inteiros e divide o resultado da var $total_records por 5 .. num entendi o 5 ai também é o mesmo esquema lá de cima... no select.

#### Imprimindo os estados

/* aqui ele pega as info da var $cad e transforma ela em uma array fazendo assim ela divide a minha tabela na var $array sendo possivel chamar o campo da minha tabela assim "$array['estado'];" e mostrando logo abaixo o resultado com o echo correto???

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

  echo $array['estado'];

}

*/

######## criando os links dinâmicos

if ($pg <> 0) { // Nesse ele pega a var $pg e verifica se esta entre 0 caso sim.

  $url = $pg - 1; // a var $url ganha o valor da var $pg menos 1 fazendo assim diminuir pagina

  echo "<a id=mulink href="$PHP_SELF?pg=$url">5 anteriores</a> ";// esse link que tem aqui eu num entendi

}

else {

  echo " "; // Se não num faz nada.. mostra em branco...

}

// Daqui para baixo num entendi nada...

for ($i = 0; $i<($pages + 1); $i++) {

  if ($i == $pg) {

    echo "<font face=Arial size=2 color=ff0000><b>&nbsp;&nbsp;$i&nbsp;&nbsp;</b></font>";

  }

  else {

  echo "<a id=mulink href="$PHP_SELF?pg=$i">&nbsp;&nbsp;$i&nbsp;&nbsp;</a>";

  }

}

if ($pg < $pages) {

  $url = $pg + 1;

  echo "<a id=mulink href="$PHP_SELF?pg=$url"> Próximos 5</a> ";

}

else {

  echo " ";

}

?>

 

E isso ai pessoal só eu entender isso que eu consigo montar o meu..

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...