+1

Paginação Alfabetica e Numerica

criado por Luiz Henrique em 16/09/2009 3:45pm
Pessoal andei quebrando a cabeça esses dias mas finalmente consegui no script basta ajustar a conexão com o bando na vairavem $db informar a tabela e na $a coluna que vc deseja consultar e paginar.

| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Total de Registros Encontrados: 11894 - Exibindo Registros de 551 a 600

Páginas: Primeiro Anteriores 7 8 9 10 11 12 13 14 15 16 17 Próximas Último

Selecionado a Letra A ele nos trara todos os registros que inicianm com A e paginar esse resultado.
Data Autor Changelog Download
16/09/2009 3:45pm Luiz Henrique - Versão 1.0

Comentários:

Mostrando 1 - 7 de 7 comentários
Roberto disse:
Ola estou iniciando meus estudos na programação com PHP e no caso gostaria de saber como posso alterar o codigo acima que fiz no caso isso para mostrar no caso imagens com galerias so que eu a minha mysql

<?
mysql_connect("localhost","usuario01", "1345787");
mysql_select_db("galeria");

$db = "parceiros";
$coluna = "nome";

$Consulta = mysql_query(" SELECT UPPER(LEFT($coluna, 1)) inicial FROM $db GROUP BY inicial ORDER BY inicial") or die (mysql_error());
while ($rs = mysql_fetch_array($Consulta)) {
$aIniciais = $rs["inicial"];
$v = "<font style='font-family: Verdana,Tahoma,Arial,Helvetica,Sans-serif; font-size: xx-small; '>
<a href='?inicial&ini=$aIniciais'> $aIniciais</a></font>" ;

printf(" | $v ");
}

?></center><center>Selecione a seção desejada logo acima para que ela seja mostrada</center>

<?
$inicial2 = $_GET['ini'];

$conta = mysql_query("select * from $db WHERE LEFT($coluna,1) = '$inicial2' order by $coluna ASC") or print (mysql_error());
$total = mysql_num_rows($conta);

// inicio paginação

function f_paginacao ($tr,$rpp,$pg) { // $tr eh total_records e $rpp eh registros por pagina
$inicial2 = $_GET['ini'];
if ($tr%$rpp==0){$pages = intval($tr / $rpp)-1;} else {$pages = intval($tr / $rpp);} // calcula quantas paginas serao necessarias
if ($tr>0){
echo "<center>Total de Registros Encontrados: $tr</center>";
$NumRegistroInicial = ($pg*$rpp)+1;
if ($pg <> $pages) {$NumRegistroFinal = ($pg*$rpp)+$rpp;} else {$NumRegistroFinal = $tr;}
echo "<center>Exibindo Registros de $NumRegistroInicial a $NumRegistroFinal</center>";
echo "<br>";
echo "<p align=\"center\">Páginas:&nbsp;&nbsp;&nbsp;&nbsp;";
if ($pg <> 0) {
$showpage = $pg - 1;
echo '<a id=mulink href="'.$PHP_SELF.'??inicial&ini='.$inicial2.'&pg=0">Primeiro</a>&nbsp;';
echo '<a id=mulink href="'.$PHP_SELF.'??inicial&ini='.$inicial2.'&pg='.$showpage.'">Anteriores</a>&nbsp;';
}
for ($i = $pg-5; $i<$pg; $i++) {
$showpage=$i+1;
if ($i>=0) {
echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$i.'">'.$showpage.'</a>';
echo '&nbsp;&nbsp;';
}
}
for ($i = $pg; ($i<=$pages AND $i<=($pg+5)); $i++) {
$showpage=$i+1;
if ($i == $pg) {
echo '<font face=Arial size=2 color=0000FF>'.$showpage.'&nbsp;&nbsp;</font>';}
else {
echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$i.'">'.$showpage.'</a>';
echo '&nbsp;&nbsp;';
}
}
if ($pg < $pages) {
$showpage = $pg + 1;
echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$showpage.'"> Próximas</a>';
echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$pages.'"> Último</a>';
}

}
}
// FINAL DA FUNÇÃO DE PAGINAÇÃO

$dbname="neoxa508_ryumaneox"; // Indique o nome do banco de dados que será aberto
$usuario="neoxa508_neoxani"; // Indique o nome do usuário que tem acesso
$password="TCGQ3cWTR1FhF9wxGa"; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL
$id = mysql_connect("localhost",$usuario,$password);
//2º passo - Seleciona o Banco de Dados
$con=mysql_select_db($dbname,$id);
//3º passo - Contar os registros da tabela
$sql_tr= mysql_query("select COUNT(*) as total from $db WHERE LEFT($coluna,1) = '$inicial2' ");
$res_tr= mysql_fetch_object($sql_tr);
$tr=$res_tr->total; //tr total de registros

if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 5;} // $rpp é registros por pagina - o padrao é 10
if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;}
$inicial = $pg * $rpp ;




$sql = "select * from $db WHERE LEFT($coluna,1) = '$inicial2' order by $coluna ASC LIMIT $inicial,$rpp";
$res = mysql_query($sql,$id);
f_paginacao($tr,$rpp,$pg);
?>

<center>
<table border="0" cellpadding="0" cellspacing="0" width="50%" align="center">

<?

if($resultadoposter = mysql_num_rows($conta)) // VERIFICA RESULTADO
{

$i = 0; // define o $i como 0 pra ter um ponto de partida pra coluna
echo "<tr>"; // inicia a pimeira linha

while ($row=mysql_fetch_array($res)) {

$nome = $row["nome"];
$button = $row["button"];
$clicks = $row["clicks"];
$id = $row["id"];

if($i == 2) // se ja tiver impresso as colunas
{
$i = 0; // reseta a contagem
echo "</tr>"; // quebra a linha com tr

} // IF i == Coluna

$i++; // e sempre adiciona +1 pra $i que significa a contagem

print(" <a href='painel/visualizar.php?tipo=parceiros&id=$id'title='$nome - Cliques: $clicks'><img src='$button' width='88' height='31'border='0'></a>");


} // WHILE RST RST_SELECT
echo '</tr></tr>';


} // IF RST_SELECT

$dbname="galeria"; // Indique o nome do banco de dados que será aberto
$usuario="usuario01"; // Indique o nome do usuário que tem acesso
$password="1345787"; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL
$id = mysql_connect("localhost",$usuario,$password);
//2º passo - Seleciona o Banco de Dados
$con=mysql_select_db($dbname,$id);
//3º passo - Contar os registros da tabela
$sql_tr= mysql_query("select COUNT(*) as total from $db WHERE LEFT($coluna,1) = '$inicial2' ");
$res_tr= mysql_fetch_object($sql_tr);
$tr=$res_tr->total; //tr total de registros

if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 5;} // $rpp é registros por pagina - o padrao é 10
if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;}
$inicial = $pg * $rpp ;




$sql = "select * from $db WHERE LEFT($coluna,1) = '$inicial2' order by $coluna ASC LIMIT $inicial,$rpp";
$res = mysql_query($sql,$id);
f_paginacao($tr,$rpp,$pg);

?>

No caso meu problema e o seguinte eu quero usar esse codigo pra poder consultar dados distintos na mesma tabela de msql desta forma

Tipo tem um campo da mysql chamado tipo ai com esses tipo de galeria Galeria Medias, Galerias Musicas e Galeria Wallpapers isso tudo na tabela chamada secoes gostaria de fazer esse codigo ai consultar cada uma das galerias separadamente de forma que eu possa criar 3 arquivos PHP o primeiro chamado Medias segundo Musicas e o terceiro Wallpapers e quando aparecer esse script ai ele fazer consulta somente da mesma tabela dos conteudos que eu quero mesmo tendo varios itens na mesma tabela ele fazer a consulta por tipo.

Agradeço desde ja quem poder me auxiliar.
04/07/2012 1:25pm (~11 anos atrás)

Luiz Henrique disse:
Tiago Segue abaixo o codigo que lista meus dvd's crindo um link para pagina de busca exibindo os dados do filme.

<HTML>
<HEAD>
<TITLE>..::Lista Completa de DVD::..</TITLE>
</HEAD>
<BODY>
<META http-equiv="Page-Enter" CONTENT="RevealTrans(Duration=2,Transition=8)">
<br><br>
<center>
<font face="Verdana, Arial, Helvetica, sans-serif" size="3" align="center">
<font color="#0066CC">Lista completa dos DVD's Cadastrados - <?=date("d/m/Y")?> ás <?=date("H:i:s")?></font>
</font>
<form action="dvd.php" method="POST">
<table align='center' width='800' border='0' cellspacing='0' cellpadding='2'>
<tr height="30"> </tr>
<tr>
<td align="right" width="375">
<a href="cadastradvd.php"><input type="submit" value="Cadastrar" class="button"></a></td>
<td align="left" width="50">
<a href="buscadvd.php"><input type="submit" value="Buscar" class="button"></a></td>
<td align="left" width="50">
<INPUT onclick=popprint() type=submit value="Imprimir" class="button"></td>
<td align="left" width="30">
<a href="modelo2pdf.php"><input type="submit" value="Pdf" class="button"></a></td>
<td align="left" width="30">
<a href="etiquetas.php"><input type="submit" value="Etiquetas" class="button"></a></td>
<td align="left" width="375">
<a href="filtro.php"><input type="submit" value="Filtro" class="button"></a></td>

</tr>



<tr height="30">
<td aling="center" collspan="3"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"></font></td>
</tr>

</table>

<table align='center' width='800' border='0' cellspacing='0' cellpadding='2'> '
<?


include ("config.php");

$conta = mysql_query("select * from dvd order by dvd ASC") or print (mysql_error());
$total = mysql_num_rows($conta);

// inicio paginação

function f_paginacao ($tr,$rpp,$pg) { // $tr eh total_records e $rpp eh registros por pagina
if ($tr%$rpp==0){$pages = intval($tr / $rpp)-1;} else {$pages = intval($tr / $rpp);} // calcula quantas paginas serao necessarias
if ($tr>0){
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Total de Registros Encontrados: $tr&nbsp;&nbsp;-&nbsp;&nbsp; ";
$NumRegistroInicial = ($pg*$rpp)+1;
if ($pg <> $pages) {$NumRegistroFinal = ($pg*$rpp)+$rpp;} else {$NumRegistroFinal = $tr;}
echo "Exibindo Registros de $NumRegistroInicial a $NumRegistroFinal";
echo "<br>";
echo "<p align=\"center\">Páginas:&nbsp;&nbsp;&nbsp;&nbsp;";
if ($pg <> 0) {
$showpage = $pg - 1;
echo '<a id=mulink href="'.$PHP_SELF.'?pg=0">Primeiro</a>&nbsp;';
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$showpage.'">Anteriores</a>&nbsp;';
}
for ($i = $pg-5; $i<$pg; $i++) {
$showpage=$i+1;
if ($i>=0) {
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$i.'">'.$showpage.'</a>';
echo '&nbsp;&nbsp;';
}
}
for ($i = $pg; ($i<=$pages AND $i<=($pg+5)); $i++) {
$showpage=$i+1;
if ($i == $pg) {
echo '<font face=Arial size=2 color=0000FF>'.$showpage.'&nbsp;&nbsp;</font>';}
else {
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$i.'">'.$showpage.'</a>';
echo '&nbsp;&nbsp;';
}
}
if ($pg < $pages) {
$showpage = $pg + 1;
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$showpage.'"> Próximas</a>';
echo '<a id=mulink href="'.$PHP_SELF.'?pg='.$pages.'"> Último</a>';
}

}
}
// FINAL DA FUNÇÃO DE PAGINAÇÃO

$dbname="listacd"; // Indique o nome do banco de dados que será aberto
$usuario="root"; // Indique o nome do usuário que tem acesso
$password="5564"; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL
$id = mysql_connect("localhost",$usuario,$password);
//2º passo - Seleciona o Banco de Dados
$con=mysql_select_db($dbname,$id);
//3º passo - Contar os registros da tabela
$sql_tr= mysql_query("select COUNT(*) as total from dvd ");
$res_tr= mysql_fetch_object($sql_tr);
$tr=$res_tr->total; //tr total de registros

if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 8;} // $rpp é registros por pagina - o padrao é 10
if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;}
$inicial = $pg * $rpp ;




$sql = "select * from dvd order by dvd ASC LIMIT $inicial,$rpp";
$res = mysql_query($sql,$id);
f_paginacao($tr,$rpp,$pg);
?>

<center>
<table border="0" cellpadding="0" cellspacing="0" width="50%" align="center">
<?

if($resultadoposter = mysql_num_rows($conta)) // VERIFICA RESULTADO
{

$i = 0; // define o $i como 0 pra ter um ponto de partida pra coluna
echo "<tr>"; // inicia a pimeira linha

while ($row=mysql_fetch_array($res)) {

$poster = $row["poster"];
$nomedvd = $row["dvd"];
$id = $row["id"];

if($i == 4) // se ja tiver impresso as colunas
{
$i = 0; // reseta a contagem
echo "</tr>"; // quebra a linha com tr

} // IF i == Coluna

$i++; // e sempre adiciona +1 pra $i que significa a contagem

print("<td width='50'></td><td width='100' height='175' align='center' valign='top'><img src='$poster' width='100' height='130' >
<font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<a class='link' href='buscadvd.php?id=$id'>$nomedvd</a></font></td>
<td width='50'></td>");


} // WHILE RST RST_SELECT
echo '</tr></tr>';


} // IF RST_SELECT


?>
</center>

<BR><BR>
</BODY>
</HTML>
05/10/2009 9:02am (~14 anos atrás)

Luiz Henrique disse:
Thiago vc pode fazer um select para mostara apenas as categorias...

$categoria = $_POST['categoria'];

$Consulta = mysql_query(" SELECT UPPER(LEFT($coluna, 1)) inicial FROM $db where categoria = '$categoria' GROUP BY inicial ORDER BY inicial")


com isso ira listar apenas as iniciais que constam na categoria e assim a paginação tb.

em casa tenho um cadastro de meus dvd onde fiz exibindo imagem assim que chegar posto ele aki para vc ...
30/09/2009 9:24pm (~14 anos atrás)

Luiz Henrique disse:
Thiago,

em $poster = $row[""];

tenta deixar desta forma

$poster = $row[" coluna que devera ser exibida "];
no caso ficaria:

$poster = $row["titulo"];

qualquer coisa so postar aki que vemos
29/09/2009 8:38am (~14 anos atrás)

Realmente muito útil.
24/09/2009 9:26pm (~14 anos atrás)

Luiz Henrique disse:
Olá Thiago tudo bem desculpe a demora mas hoje apenas que vi seu comentario poderia postar os o seu script para verificarmos o que pode ser e assim ajsutalo?

22/09/2009 2:35pm (~14 anos atrás)

Ficaria melhor com as opições de Inserir e Apagar registros do Banco de Dados, mas de qualquer forma é um bom Script.
21/09/2009 5:31pm (~14 anos atrás)

Novo Comentário:

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