Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/07/2006, 14:59
chuly1983
 
Fecha de Ingreso: mayo-2006
Mensajes: 8
Antigüedad: 17 años, 11 meses
Puntos: 0
Este es el procedimiento almacenado:

Cita:
CREATE PROCEDURE paginacion_ejemplo @index int, @num_regs int AS BEGIN DECLARE @maximo numeric DECLARE @minimo numeric SELECT @maximo = (@index * @num_regs) SELECT @minimo = @maximo - (@num_regs - 1) CREATE TABLE #tmpListado(num_orden int IDENTITY (1, 1), UsuarioID int, Nombre varchar(35)) INSERT #tmpListado SELECT UsuarioID, Nombre FROM Usuario ORDER BY Nombre SELECT UsuarioID, Nombre FROM #tmpListado WHERE num_orden BETWEEN @minimo AND @maximo END

y esto lo de php(todo esto lo encontre aqui en el foro):


Código PHP:
<?php
include("conexion.php");

?>
<?php
//COSTANTES PARA EL DESPLIEGUE DE RESULTADOS 
define("LIMITE"3); 
define("TAM_VENTANA"10); 

//CALCULO EL NUMERO DE REGISTROS 
$sql "select count(UsuarioID) as cant from Usuario";
$con odbc_exec($enl$sql);
$reg odbc_fetch_array($con);
$numero_de_registros $reg['cant'];



//PROCEDIMIENTO ALMACENADO QUE DETERMINA EL NUMERO DE REGISTROS 
/*$sql_sel = mssql_init("sp_selecciona_registros");  
$res_sel = mssql_execute($sql_sel) ; 
$row = mssql_fetch_array($res_sel); 
$total += mssql_num_rows($res_sel); 
//NUMERO TOTAL DE REGISTROS 
$numero_de_registros = $total;*/ 

?> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>Paginación PHP - SQL Server</title> 
<style type="text/css"> 
<!-- 
.titulo{ 
    font-family: Verdana, Arial, Helvetica, sans-serif; 
    font-weight: bold; 

.texto 
    {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; } 

--> 
</style> 
</head> 

<body> 
<p class="titulo">Paginaci&oacute;n de Resultados PHP - SQL Server 2000 </p> 
<span class="Estilo2">Número total de registros: <?php echo $numero_de_registros ?></span><br> 
<span class="Estilo2">Número de registros por página: <?php echo LIMITE ?></span><br><br> 

<table width="50%" border="0" cellspacing="2" cellpadding="2"> 
  <tr> 
    <td bgcolor="#CCCCCC">ID RADIO</td> 
    <td bgcolor="#CCCCCC">NOMBRE RADIO</td> 
  </tr> 
  <?php 
     
    $pagina 
$_GET['pagina']; 
    
$limite LIMITE
    if( isset( 
$pagina ) ) { 
    } 
    else { 
        
$pagina 1
    } 
     
    
//LLAMAR AL SP QUE EXTRAE LOS DATOS PAGINADOS
     
    
$sql_sel2 mssql_init("paginacion_ejemplo",$enl);
    
//ENVIAR PARAMETROS AL SP 
    
mssql_bind($sql_sel2"@index"$paginaSQLINT2); 
    
mssql_bind($sql_sel2"@num_regs"$limiteSQLINT2); 
    
$res_sel2 mssql_execute($sql_sel2); 
    
$num_rows_sel2 mssql_num_rows($res_sel2); 
     echo  
$num_rows_sel2;
    
$num_paginas_float $numero_de_registros $limite//número total de páginas a mostrar (float) 
    
$valor_redondeado ceil($num_paginas_float); //número total de páginas a mostrar (entero) 
    
$inferior $pagina - ( ceilTAM_VENTANA ) ); 
    
$inicio_ventana 1
    if( 
$valor_redondeado TAM_VENTANA ) { 
        
$inicio_ventana = ( $inferior ) ? $inferior 1
    } 
    
$fin_ventana $inicio_ventana + ( TAM_VENTANA ); 
    if( ( 
$fin_ventana $valor_redondeado ) && ( $valor_redondeado TAM_VENTANA ) ) { 
        
$inicio_ventana $valor_redondeado - ( TAM_VENTANA ); 
    } 
    
$contador $inicio_ventana
     
    if( 
$num_rows_sel2 ) {     
     
        while( 
$row_sel2 mssql_fetch_array($res_sel2) ) { 
  
?> 
          <tr> 
            <td bgcolor="#FFFFF0"><?php echo $row_sel2['UsuarioID'?></td> 
            <td bgcolor="#FFFFF0"><?php echo $row_sel2['Nombre'?></td> 
          </tr> 
  <?php 
        

    } 
    
?> 
</table> 
<br> 
<table width="50%"  border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td width="10%" align="left"> 
        <?php 
        
if( $pagina ) { 
            
$numero_pagina $pagina 1
        
?> 
                <a href="paginando.php?pagina=<?php echo $numero_pagina ?>">&laquo;&nbsp;Anterior</a> 
            <?php 
        

        else{                 
        
?> 
            &nbsp; 
        <?php 
        

        
?> 
    </td> 
    <td width="30%" align="center"> 
      <?php 
    
if( ( $numero_de_registros ) && ( $valor_redondeado ) ) { 
        
$nuevo_inicio = ($inicio_ventana $limite) - $limite
        while ( ( 
$contador <= $valor_redondeado ) && ( $contador <= $fin_ventana) ) { 
            
$string_contador ""
            if( 
$contador $inicio_ventana ) { 
                
$nuevo_inicio += $limite
            } 
            if( 
$pagina == $contador ) { 
                
$string_contador "<b>$contador</b>"
            } 
            else { 
                
$string_contador "$contador"
            } 
            if( ( 
$pagina $contador ) || ( $pagina $contador ) ) { 
            
?>
      &nbsp;<a href="paginando.php?pagina=<?php echo $contador ?>"><?php echo $string_contador ?></a>&nbsp; 
      <?php 
            

            else { 
                echo 
"&nbsp;" $string_contador "&nbsp;"
            } 
            
$contador++; 
        } 
    } 
    
?>
    </td> 
    <td width="10%" align="right"> 
    <?php  
        
if( $pagina $valor_redondeado ) { 
            
$numero_pagina $pagina 1
        
?> 
            <a href="paginando.php?pagina=<?php echo $numero_pagina ?>">Siguiente&nbsp;&raquo;</a><?php 
        

        else{                 
        
?> 
            &nbsp; 
        <?php 
        

    
?> 
    
    </td> 
  </tr> 
</table> 

</body> 
</html>

gracias por todo lo que me has ayudado y se ves algun error que pueda tener por fa me lo dices hoy me la he pasado todo el dia en esto y ya quiero que me funcione.
Gracias.

Última edición por Cluster; 21/07/2006 a las 15:10