Ciao a tutti sto cercando di fare una paginazione con PHP e SQL server, però ho dei problemi. Con Mysql si usa il limit, ed in mssq si può usare un top, però trovo dei problemi :

1) la prima pagina è vuota mentre dalla 2 in poi altre riesco a paginare con i dati estratti
2) Se uso una tabella tutto ok se voglio usare la query con delle inner join inizio ad avere dei problemi.
questo è il codice.

Query con una tabella però non riesco a visulizzare la prima pagina vengono fuori tutti i numeri per i records trovati, ma quando clicco sulla pagian 1, non mi tira fuori nessun dato:

select * from (
select top 10 emp_id,lname,fname from (
select top 30 emp_id,lname,fname
from employee
order by lname asc
) as newtbl order by lname desc
) as newtbl2 order by lname asc

Codice PHP:

<?

mssql_connect("APPLICATION", "sa", "samsung2004") or die("Connection Error");
mssql_select_db("SAMA2");
// exit;
// connessione al database


// esecuzione prima query
$count = mssql_query("SELECT COUNT(id) FROM persone");
$res_count = mssql_fetch_row($count);

// numero totale di records
$tot_records = $res_count[0];

// risultati per pagina(secondo parametro di LIMIT)
$per_page = 5;

// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);

// pagina corrente
@$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

// primo parametro di LIMIT
$primo = ($current_page - 1) * $per_page;

echo "<div align=\"center\">\n<table>\n";

// esecuzione seconda query con LIMIT
$query_limit = mssql_query("
SELECT * FROM( SELECT top $per_page id,descr1 from(
SELECT top $primo id, descr1
from persone
order by descr1 asc
) as newtbl order by descr1 desc
) as newtbl2 order by descr1 asc");

//echo $query_limit . "
";
//exit;
while($results = mssql_fetch_array($query_limit)) {

if(isset($results['id']))
{

$id= $results['id'];

}

if(isset($results['descr1']))
{
$descr = $results['descr1'];
}
echo " <tr>\n <td>";
echo "<a href=\"page.php?id=" . $id . "\">" . $descr . "</a>
";
echo "</td>\n </tr>\n";
}

// includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
//include("paginazione1.php");
include("paginazione1.php");

// in questa cella inseriamo la paginazione
echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";

echo " </tr>\n</table>\n</div>";

mssql_close();

?>

2) Se voglo usare un'altra tabella iniziano i guai questa è la query che vorrei usare con quel metodo:

SELECT PERSONE.*, CLIENTI.*
FROM PERSONE,CLIENTI
WHERE PERSONE.ID = CLIENTI.IDPERSONA AND ISCLI=-1

Grazie

Max