Foros del Web » Programando para Internet » PHP »

Paginar PHP-> MSSQL

Estas en el tema de Paginar PHP-> MSSQL en el foro de PHP en Foros del Web. Necesito que alguien me ayude a encontrar el equivalente de LiMit de MySQL en MSSQL o alguna función PHP que me permita paginar con SQL ...
  #1 (permalink)  
Antiguo 08/11/2002, 00:10
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
Paginar PHP-> MSSQL

Necesito que alguien me ayude a encontrar el equivalente de LiMit de MySQL en MSSQL o alguna función PHP que me permita paginar con SQL Server.

Estuve leyendo acerca de la librería ADODB para PHP pero no creo que mi servidor me permita usarla.

Help !!!
  #2 (permalink)  
Antiguo 08/11/2002, 07:36
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Bueno, para tomar una porción desde,hasta no lo sé (¿no es igual no usa limit? ). Pero mientras te puedo decir que para obtener los n primeros agregas la cláusula TOP n al SELECT.

__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 08/11/2002, 13:15
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
Pero necesito algo parecido al LIMIT de MySQL o alguna función integrada de PHP que me lo permita hacer

  #4 (permalink)  
Antiguo 08/11/2002, 13:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La libreria ADOdb .. es una classe escrita en PHP .. no es una extension que tenga que estar instalada y compilada como parte de PHP .. (por lo menos la versión PHP ... q no tiene nada q ver con otra cosa q ronda de igual nombre o similar ..)

Puedes ponerla en tu sitio si gustas de probarla:
http://php.weblogs.com/ADODB

Esa classe .. la virtud q tiene es que puede gestionar de forma transparence varias base de datos como MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 y cualquiera q entre por ODBC.

Lo que no se es si tendrá funciones (metodos predefinidos) .. como para presentar consultas "paginadas" estilo LIMIT y q sea "standar" para Mysql o otras base de datos ...

Un saludo,
  #5 (permalink)  
Antiguo 08/11/2002, 14:07
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
Es una clase?
Oh que shiro

Y si trae propiedades de pagínación al menos estaba leyendo y trae algo así como AbsolutePage, creo, tiene que venir algo de eso puesto que estan tratando de hacer algo parecido a ADO y ADO ya trae integradas propiedades para paginación. :)
  #6 (permalink)  
Antiguo 08/11/2002, 15:44
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
A ver si te sirve esto.

Conexion = "Provider=SQLOLEDB;" & _
"Data Source=127.0.0.1;" & _
"User id=sa;" & _
"Initial Catalog=Revista"
'PROCEDIMIENTO ALMACENADO QUE
'MUESTRA LOS REGISTROS QUE SON SUPERIORES AL ID DE 900
cadena = "sp_Consulta 900"

Set rs = New ADODB.Recordset
'estableciendo parametros de consulta
rs.CursorLocation = adUseServer
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly

'ABRE LA CONEXION PARA RECORDSET
rs.Open cadena, Conexion

'ESTABLECIENDO PARAMETROS PARA LA PAGINACION
rs.PageSize = 10
rs.CacheSize = 5
rs.AbsolutePage = 1

'DESPUES MUESTRO ESTE RECORDSET
'ME MUESTA OK.

'************************************************* ***'PERO LO QUE DESEO ES LLAMAR AL PROCEDIMIENTO ALMACENADO
'CON UN : ADODB.Command
' ADODB.Parameter
'PARA CAMBIAR CIERTOS PARAMETROS DE LA LA LLAMADA Y
'DESPUES PAGINAR ESTE RESULTADO COMO EL TIEMPO DE ESPERA
'************************************************* ***'PARA ELLO HAGO ESTO
Set cn = New ADODB.Connection
Conexion = "Provider=SQLOLEDB;" & _
"Data Source=127.0.0.1;" & _
"User id=sa;" & _
"Initial Catalog=Revista"
'ABRE LA CONEXION
cn.Open Conexion
'CREA UN OBJETO COMMAND Y ACTIVA CONEXION
Set cm = New ADODB.Command
Set cm.ActiveConnection = cn
'PARAMETROS PARA EL COMMANDO A EJECUTAR
cm.CommandType = adCmdStoredProc
cm.CommandText = "sp_Consulta"
cm.CommandTimeout = 60
' DEDINE EL PARAMETRO DE ENTRADA DEL PROCEDIMIENTO
' ALMACENADO.

Set pr = New ADODB.Parameter
pr.Type = adInteger
pr.Size = 4
pr.Direction = adParamInput
pr.Value = 900

cm.Parameters.Append pr

'CREA UN OBJETO RECORDSET para despues paginarlo
Set rs = New ADODB.Recordset

'ESTABLECIENDO PARAMETROS PARA EL RECORDSET
rs.CursorLocation = adUseServer
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly

'EJECUTO EL COMMANDO ASOCIANDO AL RECORDSER
set rs=cm.Execute

'QUIERO PAGINAR COMO LO HICE ANTERIORMENTE
'ESTABALECIENDO LOS PARAMETROS
rs.PageSize = 10
rs.CacheSize = 5
rs.AbsolutePage = 1

'PERO ME DA UN ERROR Y SE PLANTA
'EN EL PARAMETRO AbsolutePage
y si no visita el foro de SQL de www.sqlmax.com
Suerte
  #7 (permalink)  
Antiguo 10/12/2009, 17:20
Avatar de polin2bclan  
Fecha de Ingreso: julio-2008
Mensajes: 73
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Paginar PHP-> MSSQL

Código PHP:
SELECT FROM 
  
SELECT *, ROW_NUMBER() OVER (ORDER BY idTag) as row FROM tblknowledgement 
 
a WHERE row and row <= 10 
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 15:51.