Foros del Web » Programando para Internet » PHP »

Paginador con php y sql server 2005

Estas en el tema de Paginador con php y sql server 2005 en el foro de PHP en Foros del Web. Buen dia amigos la verdad necesito de su ayuda, estoy realizando un paginador con php y sql server 2005. Tengo el siguiente problema yo cuando ...
  #1 (permalink)  
Antiguo 02/09/2010, 08:23
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años, 7 meses
Puntos: 0
Exclamación Paginador con php y sql server 2005

Buen dia amigos la verdad necesito de su ayuda, estoy realizando un paginador con php y sql server 2005. Tengo el siguiente problema yo cuando realice uno con mysql no tuve problemas de hecho este es el script:
(mysql)

$sql=mysql_query("SELECT * FROM dbo.TBL_Equipos where status='activo' ORDER BY codigo DESC LIMIT $inicio, $registros");

En ese momento con el LIMIT mi paginador excelente todo muy bien cambiaba la pagina y todo, pero ahora lo emigre a SQLSERVER 2005 y exploto debido a que sqlserver no maneja la funcion LIMIT sino ROW_NUMBER() OVER, aun asi investigue y lo utilice y no tengo error de compilacion sino que los limites no funcionan como antes yo quiero que por paginas me muesten 10 registros y me los muestra todos como que si los limites no los toma, intente con los TOP pero no me sirve el paginador :( si alguien le a pasado auxiliooooo.... Gracias.

aqui esta el script actual:
(sql server 2005)
$sql = mssql_query("SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY codigo) as row FROM dbo.TBL_Medicos)as alias WHERE row > $inicio and row <= $registros and status='activo'");

NOTA: el codigo estoy super seguro que esta bien en cuanto a inicio y fin porque mysql funciona y se que sql server me falla es en el Limite que no se utilizarlo bien y darle el valor de las variables php al inicio y fin del limite...
  #2 (permalink)  
Antiguo 02/09/2010, 08:34
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años, 7 meses
Puntos: 0
Exclamación Respuesta: Paginador con php y sql server 2005

<?php
include("../../conex/conectar.php");
conectar();


$registros = 10;

if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;

}
$result = mssql_query("SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY codigo) as row FROM dbo.TBL_Medicos)as alias WHERE row > $inicio and row <= $registros and status='activo'");

$numeroRegistros=mssql_num_rows($result);
$total_paginas = ceil($numeroRegistros / $registros);


//-----------------------------------------------------------------------------------------------------
if($numeroRegistros<=0){
echo '<font color="#FF0000"><div align="center">No se Encuentran Registro</div></form>';

}else{
if($numeroRegistros>0){

echo "<div align='center'>";
echo "</font></div>";
echo "<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>";
echo "<th bgcolor='#0066CC'><a class='Estilo'>Código</a></th>";
echo "<th bgcolor='#0066CC'><a class='Estilo'>Nombre del Medico</a></th>";
echo "<th bgcolor='#0066CC'><a class='Estilo'>Editar</a></th>";
echo "<th bgcolor='#0066CC'><a class='Estilo'>Honorarios</a></th>";

while($registro=mssql_fetch_array($result)) {
$id=$registro["codigo"];
$idd=$registro["nombre"];
$iddd=$registro["datos"];
}//fin while
echo "</table>";
}//fin if
} echo "<br>";
if($numeroRegistros) {

echo "<center>";

if(($pagina - 1) > 0) {
echo "<a href='medicos.php?pagina=".($pagina-1)."'>< Anterior</a> ";
}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i)
echo "<b>".$pagina."</b> ";
else
echo "<a href='medicos.php?pagina=$i'>$i</a> ";
}

if(($pagina + 1)<=$total_paginas) {
echo " <a href='medicos.php?pagina=".($pagina+1)."'>Siguient e ></a>";
}

echo "</center>";

}
?>
  #3 (permalink)  
Antiguo 02/09/2010, 09:35
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Paginador con php y sql server 2005

Disculpen amigos pero ya resolvi el problema, la verdad quien este en este saperoco solo me faltaba realizar un select para poder tener el mssql_num_rows correcto... Si alguien necesita ayuda en esto estoy a la orden... Gracias

Etiquetas: paginador, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:05.