Criando paginação de pagina com PHP e MsSQL

Neste novo POST mostro uma das forma de criar uma paginação numerica com PHP e MsSQL

1º passo:

Monto minha consulta SQL para contar o total de linhas existente na tabela.

1
2
3
4
5
<?php
        $consulta = "SELECT * FROM  tabela ";
        $results = mssql_query($consulta);	
        $numP=mssql_num_rows($results);
?>

2º passo:

Pego o numero de linhas retornada pela query e divido por 12(doze), pois será o numero de registro que irei mostrar em cada pagina.

1
2
3
4
<?php
        $pg=$numP/12;
        $pg=ceil($pg);
?>

O primeiro Valor Atribuo a 0 (zero) e indico que a pagina será 1 (um)

1
2
3
<?php      
        echo"| <a href='index.php?pagina=1&$valor=0'> 1 </a> |";
?>

Dou um loopen para listar o numero de paginas e vou alimentado as variaveis.

1
2
3
4
5
6
7
8
9
<?php    
            $atual=0;	
            for($i=2;$i<=$pg;$i++){
 
                    $atual=$atual+12;
 
                    echo"| <a href='index.php?pagina=".$i."&$valor=".$atual."'> 1 </a> |";
       		 } 
?>

3º passo:

Monto minha consulta que será responsavel por listar meus registro.

1
2
3
4
5
6
7
8
9
<?php        
 
		if(!isset($_GET['valor']))$_GET['valor']=0;				
 
				$consulta = "SELECT TOP 12 * FROM  tabela WHERE (id NOT IN (SELECT TOP ".$_GET['valor']." id FROM tabela))";
				$results = mssql_query($consulta);	
				while($row2=mssql_fetch_array($results)){	echo"Aqui mostro meus registro"; }
 
?>

4 Responses to “Criando paginação de pagina com PHP e MsSQL”

  1. Webcrazy  on março 14th, 2009

    Cara muito boa esta sua dica, mas como seria o select para MySQL???

    Me desculpa a ignorancia pois sou inciante…

  2. rocker  on maio 29th, 2009

    No meu exemplo está dando erro na linha:

    “while($row2=mysql_fetch_array($results))”

    Será que você poderia postar o arquivo contendo o exemplo completo para download ?

  3. William Douglas da Silva  on julho 8th, 2009

    Para o Webcrazy.
    Em MySQL você usa o LIMIT que é bem melhor para se fazer paginação.

    Para rocker.
    Se você esta usando SQL-SERVER o comando correto é “mssql_fetch_array” e no seu comentario vc esta usando “mysql_fetch_array” que é para o MySQL.

  4. admin  on julho 8th, 2009

    è isso ae meu amigo……obrigado por participar do blog!


Seu Comentário