Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wolfphw

Script para paginação bem simples

Recommended Posts

Olá pessoal, sou iniciante em PHP, mas trabalho a 20 anos com programação em diversas linguagens. Gostaria de agradecer pelo script de paginação, e eu dei um jeito nele já que ele apresentou alguns problemas. Agora, pelo menos aqui está 100%, com essas modificações. Se alguém verificar alguma coisa que derrepente poderia ser solucionada mais facilmente, com outro comando porfavor me digam, como já disse sou iniciante. Obrigado a todos.

 

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

 

pag_curso.php

 

<?php

// Incluindo a conexão com o banco

include('sgbd/conn.php');

 

//######### INICIO Paginação

$numreg = 10; // Quantos registros por página vai ser mostrado

if (!isset($pg)) {

$pg = 0;

}

 

$inicial = @$_GET['pg'] * $numreg;

//######### FIM dados Paginação

 

// Faz o Select pegando o registro inicial até a quantidade de registros para página

$sql = mysql_query("select * from cursos LIMIT $inicial, $numreg");

 

// Serve para contar quantos registros você tem na seua tabela para fazer a paginação

$sql_conta = mysql_query("SELECT * FROM cursos");

 

$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação

 

include("paginar_curso.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>

 

echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo

 

while ($aux = mysql_fetch_array($sql)) {

echo "<a href=" , $aux['endereco'] , ">" , $aux['descricao'], "</a>", "<br/>";

}

?>

 

 

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

 

paginar_curso.php

 

 

<style type="text/css">

<!--

.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}

a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}

a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline}

-->

</style>

 

<?php

$quant_pg = ceil($quantreg/$numreg);

$quant_pg++;

 

// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior

if ( @$_GET['pg'] > 0) {

echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']-1)." class=pg ><b>« Anterior</b></a>";

} else {

echo "<font color=#CCCCCC>« anterior</font>";

}

 

// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO

 

for($i_pg=1; $i_pg<$quant_pg;$i_pg++) {

// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente

 

if (@$_GET['pg'] == ($i_pg-1)) {

echo " <span class=pgoff>[$i_pg]</span> ";

} else {

$i_pg2 = $i_pg-1;

echo " <a href=".$_SERVER['PHP_SELF']."?pg=$i_pg2 class=pg><b>$i_pg</b></a> ";

}

}

 

// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima

if ((@$_GET['pg']+2) < $quant_pg) {

echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']+1)." class=pg ><b>próximo »</b></a>";

} else {

echo "<font color=#CCCCCC>próximo »</font>";

}

?>

 

Valeu... amigo funcionou muito bem aqui!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa variável $PHP_SELF , parece que é o local do arquivo,andei procurando e achei que para utilizar é preciso ativar uma função no php.ini , que não sei, ou mais fácil colocar simplesmente assim : $_SERVER['PHP_SELF'] ;

No caso desse script desse tópico só substitua o $PHP_SELF por essa variável que acabei de falar para evitar erros. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que?

if($pg == ($i_pg-1)){

Sem o -1 não funciona, mas eu não entendi a lógica e queria entender.

Porque se $i_pg naquele for é 1 e a pagina é 1, pq -1?

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera eu estou com esse script aqui de uma galeria de video que tenho gostaria muito de incluir uma paginação nela so que nao consigo, todo jeito que eu faço nao da certo eu brinco bastante com essa parte de script so que nao consigo incluir uma paginação se alguém me ajudar eu ficarei muito grato

DESDE JA MUITO OBRIGADO

CODIGO DA GALERIA DE VIDEO

<!DOCTYPE html>

<html>
<head>
<title>Video Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/fancy/jquery.fancybox.js"></script>
<script type="text/javascript" src="js/fancy/helpers/jquery.fancybox-media.js?v=1.0.5"></script>
<link href="js/fancy/jquery.fancybox.css" rel="stylesheet" />
<link href="css/main.css" rel="stylesheet" />
</head>
<body>
<p class="alert alert-info">Clique na imagem do video para asistir</p>
<div class="container_12" id="main">
<div class="grid_12 gallery">
<?php
require_once 'database/mysql.php';
$db = new Mysql;
$db->query( "select * from video order by mirror asc, id desc" )->fetchAll();
if ( $db->rows >= 1 ){
foreach ( $db->data as $item ){
$i = ( object ) $item;
( $i->mirror == 1 ) ? $i->mirror = 'youtube' : $i->mirror = 'vimeo';
echo "<p class=\"$i->mirror\" id=\"$i->cod\" title=\"$i->title\"></p>\n";
}
}
?>
</div>
</div>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.