Limit No Mssql
#1
Posted 02/04/2005, 23:14
tipo percebi que no MSSQL não existe o LIMIT
assim fica treta de fazer
alguém tem um tuto q ensine a fazer ou um script de paginção já pronto só para eu poder analisar ?
agradeço desde já
Goku Jr.
PALMEIRAS - Primeiro campeão do mundo em 1951
#2
Posted 03/04/2005, 02:00
$RegPorPag = 10; $Pg = $_GET['Pg']; $Busca = mssql_query('SELECT * FROM Tabela'); mssql_data_seek(($Pg-1)*$RegPorPag); $i= 0; while(($Linha = mssql_fetch_row($Busca)) && $i < $RegPorPag){ echo $Linha[0] . '<br>'; $i++; } // Rotina pra fazer o índice de páginas entra aqui
#3
Posted 03/04/2005, 08:10
Ex.
10 SKIP 50, que seria o 10, 50.
#4
Posted 03/04/2005, 20:30
eu usava LIMIT, que é tipo:
LIMIT 10, 50
isso quer dizer, apartir do registro no. 10, puxe os 50 próximos, no caso, do número 10 ao 60
#5
Posted 04/04/2005, 00:07
lugs : o LIMIT não funciona no MSSQL
mas vlw mesmo assim
LeoB : estou testando esse seu pequeno código mas não estou conseguindo obter resultados positivos...
está me retornando erro do mssql_data_seek();
Warning: Wrong parameter count for mssql_data_seek()
aqui está o CODIGO
<? include "config.php"; $RegPorPag = 10; $Pg = $_GET['Pg']; if (empty($Pg)) { $Pg = 0; } $Busca = mssql_query('SELECT * FROM Character'); mssql_data_seek($Pg * 10); $i= 0; while(($Linha = mssql_fetch_row($Busca)) && $i < $RegPorPag){ echo $Linha[0] . '<br>'; $i++; } ?>
até + !
PALMEIRAS - Primeiro campeão do mundo em 1951
#6
Posted 04/04/2005, 14:00
#7
Posted 04/04/2005, 14:04
mssql_data_seek(($Pg-1)*$RegPorPag, $Busca);
#8
Posted 22/11/2005, 20:19
E que até hj eu não consegui fazer o sistema de páginação em MsSQL
estou agora neste exato momento ( 21:17Pm ) procurando algo no PHPBrasil. pra ver se consigo fazer .... se eu encontrar alguma coisa funcional eu volto a adicionar aqui, mas se até não conseguir e se alguém souber por favor me ajude
ah já tentei fazer com o between , porém ele só le campos com o TIPO INT e não VACHAR
e LeoB não consegui usar esta função que vc postou
T+
PALMEIRAS - Primeiro campeão do mundo em 1951
#9
Posted 22/11/2005, 21:14
Na pior das alternativas, vale usar objetos COM.
<? $Conexao = new COM('ADODB.Connection'); $Conexao->Open('Driver={SQL Server};Server=(local);Database=Banco;UId=usuario;Pwd=senha'); $RegPorPag = 10; $Pg = $_GET['Pg']; $Busca = new COM('ADODB.Recordset'); $Busca->Open('SELECT * FROM Tabela', $Conexao, 1, 3); $Busca->Move(($Pg-1)*$RegPorPag); $i = 0; while(!$Busca->EOF && $i < $RegPorPag){ $Campo = $Busca->Fields(0); echo $Campo->Value . '<br>'; $i++; $Busca->MoveNext(); } $Busca->Close(); // Rotina pra fazer o índice de páginas entra aqui $Conexao->Close(); ?>
#10
Posted 27/11/2005, 14:51
consegui fazer o sistema de páginção SIMPLES com sua AJUDA ( tudo bem que vc inverteu as condições do mssql_data_seek(); )
+ ta valendo !!!
VLWW mesmo !!!
bom pra quem deseja ta ae o Código funcionando com paginção como prometido ( BY LEOB ):
$TotalPG = 5; $Tabela = "TABELA"; $Pg = $_GET['Pg']; if (empty($Pg)) { $Pg = 0; } $Busca = mssql_query('SELECT * FROM '.$Tabela); $pgs = ceil(mSsql_num_rows($Busca) / $TotalPG); mssql_data_seek($Busca , ($Pg * $TotalPG)); $i = 0; while(($Linha = mssql_fetch_row($Busca)) && $i < $TotalPG){ echo $Linha[1] . '<br>'; $i++; } if ($Pg > 0) { $Menos = $Pg - 1; echo "<a href='?Pg=".$Menos."'><= Voltar</a><b> | </b>"; } if ($Pg < ($pgs-1)) { $Mais = $Pg + 1; echo "<a href='?Pg=".$Mais."'>Próximo =></a>"; }
VLWWW
PALMEIRAS - Primeiro campeão do mundo em 1951
#11
Posted 28/11/2005, 18:22
$pgs = ceil(mSsql_num_rows($Busca) / $TotalPG);O certo é:
$pgs = ceil(mssql_num_rows($Busca) / $TotalPG);Se você colocou o "S" de propósito, pra mostrar que não é "mysql", fica então como aviso pro pessoal do Ctrl+C Ctrl+V.
#12
Posted 28/11/2005, 19:18
mas acho q vale mesmo como AVISO pra galera....
Vlw novamente LEOB !!!!
T+
PALMEIRAS - Primeiro campeão do mundo em 1951
#13
Posted 12/07/2006, 17:22
No codigo do meu sistema, utilizo um foreach pra varrer os arrays de matricula, nome e açao. Como faço pra que essa paginação funcione dentro da minha tabela e organizada?
Abraços.
#14
Posted 12/07/2006, 23:15
eu posso te ajudar e acho que posso aprender alguma coisa com vc
meu msn é ronaldonx@gmail.com e b0brinha@hotmail.com t+
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!
#15
Posted 13/07/2006, 07:30
T+
PALMEIRAS - Primeiro campeão do mundo em 1951
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)