Visto che non sono presenti strumenti per il paging ho pensato di fare così:
che dite è troppo oneroso dal punto di vista dell'elaborazione?codice:$pagina_corrente = 1; $elementi_pagina = 3; $query = " if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paging]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) begin drop table [dbo].[paging] end CREATE TABLE [dbo].[paging] ( [ID] [int] NOT NULL , [user] [varchar] (50) null, [testo_client] [varchar] (500) null, [risposta_server] [varchar] (500) null, [data] [smalldatetime] null, [valutazione] [int] null, [url] [nvarchar] (255) NULL ) ON [PRIMARY] select count(*) as numero_elementi from WEB_LibroOspiti insert into paging select top ".$elementi_pagina*$pagina_corrente." * from WEB_LibroOspiti where [user] like 'f%' order by [user] select top $elementi_pagina * from WEB_LibroOspiti left join paging on WEB_LibroOspiti.id = paging.id where WEB_LibroOspiti.[user] like 'f%' and paging.id is null order by WEB_LibroOspiti.[user] drop table [dbo].[paging] "; $result = mssql_query( $query ); $line = mssql_fetch_row($result); $numero_elementi = $line[0]; $pagine = round($numero_elementi / $elementi_pagina); echo "Numero elementi:$numero_elementi Pagine:$pagine Elementi per pagina:$elementi_pagina "; mssql_next_result($result); mssql_next_result($result); echo mssql_num_rows( $result ); for ($i = 0; $i < mssql_num_rows( $result ); ++$i) { $line = mssql_fetch_row($result); print( "$line[0] - $line[1] \n"); } mssql_close($db);
forse è meglio scaricare tutto il recordset, saltare al record e da li ciclare?

Rispondi quotando