Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Paginação phpMysql

01-09-2009 22:07

Olá pessoal,

eu acabei de fazer um codigo de paginação Php/Mysql:

Páginas: <?php $sql_pc2 = mysql_query("SELECT * FROM descricao_softwares WHERE subcategoria = 'Monitoramento do PC'"); $total_registro = mysql_num_rows($sql_pc2); $paginas = ceil($total_registro/$quantidade); $links = 12; for($i = $pag-$links; $i <= $pag-1; $i++){ if($i<=0){ }else{ echo "[&nbsp;<a href='?pagina=".$i."'>".$i."</a>&nbsp;]&nbsp;"; } } echo "[&nbsp;$pag&nbsp;]&nbsp;"; for($i = $pag+1; $i <= $pag+$links; $i++){ if($i>$paginas){ }else{ echo "[&nbsp;<a href='?pagina=".$i."'>".$i."</a>&nbsp;]"; } } ?>

Com esse codigo há nenhum erro, a dúvida é sobre o próximo codigo:

<?php $pag = @$_GET['pagina']; if(isset($pag)){ $pag = $pag; }else{ $pag = 1; } $quantidade = 25; $inicio = ($pag*$quantidade) - $quantidade; /****************************************** ******************************************/ mysql_select_db("weblocomot_2"); $sql_pc2 = mysql_query("SELECT * FROM descricao_softwares WHERE subcategoria = 'Monitoramento do PC'"); $total_registro = mysql_num_rows($sql_pc2); ?> Mostrando de <?php echo $inicio; ?> a <?php echo ceil($inicio+$quantidade); ?> no total de <?php echo $total_registro; ?> registros.

Neste codigo ele mostra os resultados assim: "Mostrando de 0 a 25 no total de 18 registros."

Eu tentei fazer a conta certa para mostrar o total de resultados, mas não consegui... Então optei por colocar <?php echo ceil($inicio+$quantidade); ?> para não deixar vazio. :lol:


Então alguém poderia dizer como eu faço essa conta para obter esse resultado exato, por que assim ele mostra apenas de 25 em 25 - 1 de 25 de 8 resultados ou 1 de 25 de 21. E quando o total de registro passa de 25 ele mostra 50... Foi a única forma que eu consegui...

Espero que alguém possa me ajudar nesta conta simples, mas que eu não faço a miníma idéia de como fazer ...


Muito obrigado!!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Paginação phpMysql

02-09-2009 10:09

Você quer obter o total de resultados da consulta?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Paginação phpMysql

02-09-2009 16:08

Não, o total eu já consegui. O script mostra os resultados assim: Mostrando de 1 a 25 de 18 ou de 25 a 50 de 31 resultados encontrados, ele mostra por pagina apenas 25 registros, e a cada pagina adiciona mais 25 no resultado, como você pode perceber no exemplo. É issso que eu quero mudar... Ao ínves de mostra o 25, 50 ou 75 eu gostaria que ele mostrasse o valor exato: Mostrando de 1 de 18 de 18.

Para ser mais claro: Se ele encontrar 42 registros eu gostaria que ele mostrasse na primeira página - Mostrando de 1 a 25 de 42 e na próxima pagina - Mostrando de 26 a 42 de 42

ou se o valor for menor que 25 - Mostrando de 1 de 13 de 13 resultados encontrados. É só esse segundo valor que eu quero encontrar...


Obrigado!!!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Paginação phpMysql

02-09-2009 16:31

Acho que você deve criar as seguintes variável:

$total_de_linhas "do banco de dados"
$total_de_resultados "você define quantos por página"
$total_geral "variável global que seria incrementada a cada registro"

Para obter o total de páginas:
$total_de_linhas/$total_de_resultados

Para obter o total de resultados naquela página
$total_geral

Dá uma estudada nas variáveis desse script abaixo
http://www.codigosnaweb.com/forum/Pagin ... 3_943.html
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado