Jump to content


Photo

Paginacao


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

#1 Mr_Armagedon

Mr_Armagedon

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu, Pr

Posted 29/04/2004, 15:45

E ai pessoal, tudo bem?
Seguinte, tenho um arquivo de paginacao, é o seguinte:
index.php
<?
##############################
##############################
##                          ##
##      Paginação fácil     ##
##     Desenvolvido por:    ##
##        Robert_Rsc        ##
##                          ##
##    roberto@nutecs.com    ##
##                          ##
##                          ##
##############################
##############################

//ATENÇÃO ESTE SCRIPT É PARA USO LIVRE EM QUALQUER APLICAÇÃO FOI DESENVOLVIDO COM A AJUDA DE OUTROS
//SCRIPTS DE CÓDIGO ABERTO - VOCÊ PODE ALTERÁ-LO E UTILIZA-LO  DA MANEIRA  QUE QUIZER MAS POR FAVOR 
//MANTENHA OS CRÉDITOS - CASO VC UTILIZE ESTE SCRIPT POR FAVOR ME ENVIE UM E-MAIL PARA ME NOTIFICAR 
//DO USO.
?>


<style>.estilos { color: #000000; text-decoration: none} A:hover {text-decoration: underline}</style>
  	<?
  	// BY SK15 
  	// http://www.BuscaWeb.clic3.net 
  	function getmicrotime(){ 
  	list($sec, $usec) = explode(" ",microtime()); 
  	return ($sec + $usec); 
  	} 
  	$time_start = getmicrotime(); 
//#####################################################################
  	[B]if($acao == 'entrar')[/B]
  	[B]$arquivo = "index.php";[/B] // COLOQUE AQUI O NOME DADO A ESTE ARQUIVO
        	//CASO VC TENHA QUE UTILIZAR OUTRAS VARIÁVEIS JUNTO COM A VARIÁVEL (id) COLOQUE JUNTO EXEMPLO: "index.php?moldura=$mold&"
  	$banco = "banco";   // NOME DO BANCO DE DADOS
  	$endereco = "localhost";  // ENTRE COM O ENDEREÇO DO BANCO DE DADOS
  	$usuario = "user";   // NOME DE USUÁRIO DO MYSQL
  	$password = "senha";   // SENHA DO MySQL
  	$table = "tabela";   // NOME DA TABELA A SER UTILIZADA
  	$maxpag = 10;     // MÁXIMO DE RESULTADOS POR PÁGINA
  	$maxlnk = 10;     // MÁXIMO DE LINKS POR PÁGINA
  	if ($id == ''){$param = 0;} else {
  	$temp = $id;
  	$passo1 = $temp - 1;
  	$passo2 = $passo1*$maxpag;
  	$param = $passo2;}
//#####################################################################
  	$res = mysql_connect("$endereco", "$usuario", "$password");
  	$sql = "select * from $table";
  	$sql_01 = "select * from $table where letra='$letra' order by palavra limit $param,$maxpag";
  	$res1 = mysql_db_query("$banco", "$sql", $res);
  	$res2 = mysql_db_query("$banco", "$sql_01", $res);
    	$totreg = mysql_num_rows($res1);
  	$totreg_01 = mysql_num_rows($res2);
//#####################################################################
  	$results_tot = $totreg;
  	$results_parc = $totreg_01;
  	$result_div = $results_tot/$maxpag;
  	$n_inteiro = (int)$result_div;
  	if ($n_inteiro < $result_div) {$n_paginas = $n_inteiro + 1;}
  	else {$n_paginas = $result_div;}
  	$pg_atual = $param/$maxpag+1;
  	$reg_inicial = $param + 1;
  	$pg_anterior = $pg_atual - 1;
  	$pg_proxima = $pg_atual + 1;
  	$time_end = getmicrotime(); 
  	$time = $time_end - $time_start; ?>

<html>
<head>
<title>Paginação de Resultados</title>
</head>
<body topmargin="0" leftmargin="0">
<table border="0" cellspacing="0" width="863">
  <tr>
    <td bgcolor="#3366CC" width="859">
      <p align="right"><font color="#FFFFFF" size="2" face="Arial">Foram encontradas <?echo $totreg;?> ocorrências em <?echo $n_paginas?> páginas de resultados - visualizando&nbsp; <?echo $maxpag;?>
      resultados por página</font></td>
  </tr>
</table>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>

  	<?while($resultado = mysql_fetch_array($res2)) { $contador ++;?>


<?
// ################## COLOQUE AQUI OS RESULTADOS DA PESQUISA ######################?>


<p style="word-spacing: 0; margin: 0" align="left">
<font color="#000000" size="2" face="Arial"><b><?echo $resultado["palavra"];?></b></font></p><br>
<font color="#000000" size="2" face="Arial"><?echo nl2br($resultado["descricao"]);?></font></p>


<?
// ############################ FIM DOS RESULTADOS ###############################?>
  	
  	<?}$reg_final = $param + $contador;?>

<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<div align="center">
  <table border="0" cellspacing="0" width="147">
    <tr>
      <td width="63">
        <p align="left"><font face="Verdana" size="2">

  	<?if ($id > 1) {?><a href="<?$arquivo?>?id=<?echo $pg_anterior;?>" class="estilos"><b>&lt;&lt;anterior</font><?}?></a></td>
  	<?if ($temp >= $maxlnk){
  	if ($n_paginas > $maxlnk) {$n_maxlnk = $temp + 4;
  	$maxlnk = $n_maxlnk;
  	$n_start = $temp - 6;
  	$lnk_impressos = $n_start;}}
  	while(($lnk_impressos < $n_paginas) and ($lnk_impressos < $maxlnk))
  	{ $lnk_impressos ++;?>

      <center>
      <td width="7">
        <p align="center"><font face="Verdana" size="2">

  	<?if ($pg_atual != $lnk_impressos){echo "<a href=\"$arquivo?id=$lnk_impressos\" class=\"estilos\">";}
  	if ($pg_atual == $lnk_impressos){echo "<h1>$lnk_impressos<h1>";} else {echo "$lnk_impressos";}?></a></b></font></td><?}?>

   </font></td>
      </center>
      <td width="200">
        <p align="left"><font face="Verdana" size="2">
  
  	<?if ($reg_final < $results_tot) {?><a href="<?$arquivo?>?id=<?echo $pg_proxima;?>letra=<?echo $letra;?>&acao=entrar" class="estilos"><b>Próximo&gt;&gt;</b></font></a></td><?}?>

    </tr>
  </table>
</div>
<p style="word-spacing: 0; margin: 0">&nbsp;</p>
<div align="left">
<table border="0" cellspacing="0" width="863">
  <tr>
    <td bgcolor="#3366CC" width="859">
      <p align="right" style="word-spacing: 0; margin: 0"><font color="#FFFFFF" size="2" face="Arial">mostrando <?echo $reg_inicial;?> - <?echo $reg_final;?> sobre <?echo $totreg;?></font><font color="#FFFFFF" size="2" face="Arial">
      <?$texto=printf ("A pesquisa demorou <b>%.3f</b> segundos",$time);?></font></td>
  </tr>
</table>
</div>
</body>
</html>

Tá, e essa pagina com as letras
glossario.php
<font face="Arial" size="2">[ <a href='index.php?letra=a&acao=entrar'>a</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=b&acao=entrar'>b</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=c&acao=entrar'>c</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=d&acao=entrar'>d</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=e&acao=entrar'>e</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=f&acao=entrar'>f</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=g&acao=entrar'>g</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=h&acao=entrar'>h</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=i&acao=entrar'>i</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=j&acao=entrar'>j</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=l&acao=entrar'>l</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=m&acao=entrar'>m</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=n&acao=entrar'>n</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=o&acao=entrar'>o</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=p&acao=entrar'>p</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=q&acao=entrar'>q</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=r&acao=entrar'>r</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=s&acao=entrar'>s</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=t&acao=entrar'>t</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=u&acao=entrar'>u</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=v&acao=entrar'>v</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=w&acao=entrar'>w</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=x&acao=entrar'>x</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=y&acao=entrar'>y</a>]</font>
<font face="Arial" size="2">[ <a href='index.php?letra=z&acao=entrar'>z</a>]</font>
A intencao é a seguinte, qd a pessoa entra ai na glossario.php, clica numa letra e passa a letra como variavel pra index.php, ai la no select ta a variavel da letra e tal. O problema é, qd eu vo usa os links da paginacao, ele nao passa com o valor index.php?letra=a&?id=2, ele soh vai como index.php?id=2, sem a letra. O Script tem la em cima pra adiciona as variaveis, mas nao ta dando certo nao, ou repete a pagina, ou entao nao lista palavra nenhuma...
Alguem saberia o q tenho q faze?

Desde jah agradeco...
Abracos,
Daniel

Edição feita por: Mr_Armagedon, 29/04/2004, 15:47.


#2 thalesalan

thalesalan
  • Visitantes

Posted 29/04/2004, 19:12

Cara, explica melhor que não entendi nada...

#3 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 29/04/2004, 19:18

Ué véio, se tu clicar num link da página glossario.php, tu vai acessar a index assim:

index.php?letra=a&acao=entrar

Com a letra correspondente é claro, não tem como não ser isso..

Mas pra garantir q teu código vai funfar, coloca essa linha na página index.php

$letra = empty($_GET['letra']) ? "" : $_GET['letra'];

Coloca logo depois do "<?".. ;)

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38




1 user(s) are reading this topic

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

IPB Skin By Virteq