Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaeldupalio

exibir total de linhas de um select

Recommended Posts

tenho uma pagina que lista o meu banco:

<%
var_status =("ATI")
vSql = "SELECT * FROM TAB_QUADRO_BRASFELS where status='"&VAR_STATUS&"' order by departamento,usuario asc"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
%>
e a parte mesclada HTML+ASP que monta minha pagina com os campos do banco:
<body>
<table width="100%" height="533" border="0" align="center">
<tr>
<td><table width="100%" border="0">
<tr>
<td width="800" height="122" align="center" valign="middle" class="Subtitulo"><img src="imagens/LOGOBR.jpg" width="288" height="126" /><br /></td>
</tr>
<tr>
<td height="44" align="center"><table width="100%" border="0">
<tr>
<th width="64" height="36" scope="col"><a href="menu.asp"><img src="imagens/home.gif" width="30" height="30" longdesc="menu.asp" /></a></th>
<th width="865" align="center" scope="col"><p><span class="Subtitulo">Quadro Brasfels</span></p></th><hr><p class="conteudo">
<th width="81" scope="col"><a href="quadro_brasfels.asp"><img src="imagens/seta-voltar.gif" width="30" height="30" longdesc="brasfels.html" /></a></th>
<table width="100%" border="1" cellpadding="" cellspacing=""><hr>
<tr>
<th width="5%" scope="col">CT</th>
<th width="5%" scope="col">Data NF</th>
<th width="5%" scope="col">Nº NF</th>
<th width="10%" scope="col">Descrição</th>
<th width="8%" scope="col">Processador</th>
<th width="4%" scope="col">Memoria</th>
<th width="3%" scope="col">HD</th>
<th width="8%" scope="col">Windows</th>
<th width="8%" scope="col">Office</th>
<th width="3%" scope="col">Valor</th>
<th width="8%" scope="col">Departamento</th>
<th width="8%" scope="col">Matricula</th>
<th width="14%" scope="col">Usuário</th>
<th width="5%" scope="col">Data Inicio</th>
<th width="2%" scope="col">Status</th>
<th width="4%" scope="col">Obs</th>
<th width="8%" align="center" scope="col">Exportar <a href="Quadro_bf_exportar.asp"><img src="imagens/export_excel.jpg" width="45" height="40" longdesc="quadro_brasfels.asp" /></a></th>
</tr>
<%
do while not myRst.EOF
var_codigo = myRst.fields("codigo")
var_ct = myRst.fields("ct")
var_DNF = myrst.fields("Data_NF")
var_NFISCAL = myrst.fields("Nfiscal")
var_descricao = myrst.fields("Descricao")
var_descricao_item = myrst.fields("Descricao_item")
var_Processador = myrst.fields("Processador")
var_Men = myrst.fields("Mem")
var_HD = myrst.fields("HD")
var_Windows = myrst.fields("Windows")
var_Office = myrst.fields("Office")
var_valor = myrst.fields("Valor")
var_Departamento = myrst.fields("Departamento")
var_matricula = myrst.fields("Matricula")
var_usuario = myrst.fields("Usuario")
Var_data = myrst.fields("Data")
var_status = myrst.fields("Status")
Var_obs= myrst.fields("obs")
%>
<tr>
<td height="1" align="center" valign="middle"><%=var_ct%></td>
<td align="center" valign="middle"><%=var_DNF%></td>
<td align="center" valign="middle"><%=var_NFISCAL%></td>
<td align="center" valign="middle"><%=var_descricao%>-<%=var_descricao_item%></td>
<td align="center" valign="middle"><%=var_Processador%></td>
<td align="center" valign="middle"><%=var_Men%></td>
<td align="center" valign="middle"><%=var_HD%></td>
<td align="center" valign="middle"><%=var_Windows%></td>
<td align="center" valign="middle"><%=var_Office%></td>
<td align="center" valign="middle"><%=var_valor%></td>
<td align="center" valign="middle"><%=var_departamento%></td>
<td align="center" valign="middle"><%=var_matricula%></td>
<td align="center" valign="middle"><%=var_usuario%></td>
<td align="center" valign="middle"><%=var_Data%></td>
<td align="center" valign="middle"><%=var_status%></td>
<td align="center" valign="middle"><%=var_obs%></td>
<td align="center" valign="middle"><table width="100%" border="0">
<tr>
</p><th scope="col"><a href="quadro_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="30" height="30" id="atualizar" /></a></th>
<th scope="col"><a href="quadro_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="30" height="30" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<% myRst.MoveNext
loop
%>

Como faço para contar qnts linhas foram listadas? tipo teria que aparecer no topo da pagina "quantidade de linhas xx"

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes do

do while not myRst.EOF

 

coloque

NumReg = 0

 

antes da linha

myRst.MoveNext

 

coloque

NumReg = NumReg + 1

 

e depois mostre a variavel NumReg.

 

Mas se quiser isso no topo, tem que fazer outro select antes e deixar apenas para contar.

 

Existe um comando que pega o total de registros, mas eu (particularmente) não gosto de usar, faço tudo na unha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ronaldo fiz assim:



<table width="100%" border="1" cellpadding="" cellspacing=""><hr>

<tr>
<th width="5%" scope="col">CT</th>
<th width="5%" scope="col">Data NF</th>
<th width="5%" scope="col">Nº NF</th>
<th width="10%" scope="col">Descrição</th>
<th width="8%" scope="col">Processador</th>
<th width="4%" scope="col">Memoria</th>
<th width="3%" scope="col">HD</th>
<th width="8%" scope="col">Windows</th>
<th width="8%" scope="col">Office</th>
<th width="3%" scope="col">Valor</th>
<th width="8%" scope="col">Departamento</th>
<th width="8%" scope="col">Matricula</th>
<th width="14%" scope="col">Usuário</th>
<th width="5%" scope="col">Data Inicio</th>
<th width="2%" scope="col">Status</th>
<th width="4%" scope="col">Obs</th>
<th width="2%" scope="col">Iten</th>
<th width="8%" align="center" scope="col">Exportar <a href="Quadro_bf_exportar.asp"><img src="imagens/export_excel.jpg" width="45" height="40" longdesc="quadro_brasfels.asp" /></a></th>
</tr>
<%
do while not myRst.EOF
var_contador=var_contador + 1
var_codigo = myRst.fields("codigo")
var_ct = myRst.fields("ct")
var_DNF = myrst.fields("Data_NF")
var_NFISCAL = myrst.fields("Nfiscal")
var_descricao = myrst.fields("Descricao")
var_descricao_item = myrst.fields("Descricao_item")
var_Processador = myrst.fields("Processador")
var_Men = myrst.fields("Mem")
var_HD = myrst.fields("HD")
var_Windows = myrst.fields("Windows")
var_Office = myrst.fields("Office")
var_valor = myrst.fields("Valor")
var_Departamento = myrst.fields("Departamento")
var_matricula = myrst.fields("Matricula")
var_usuario = myrst.fields("Usuario")
Var_data = myrst.fields("Data")
var_status = myrst.fields("Status")
Var_obs= myrst.fields("obs")
%>
<tr>
<td height="1" align="center" valign="middle"><%=var_ct%></td>
<td align="center" valign="middle"><%=var_DNF%></td>
<td align="center" valign="middle"><%=var_NFISCAL%></td>
<td align="center" valign="middle"><%=var_descricao%>-<%=var_descricao_item%></td>
<td align="center" valign="middle"><%=var_Processador%></td>
<td align="center" valign="middle"><%=var_Men%></td>
<td align="center" valign="middle"><%=var_HD%></td>
<td align="center" valign="middle"><%=var_Windows%></td>
<td align="center" valign="middle"><%=var_Office%></td>
<td align="center" valign="middle"><%=var_valor%></td>
<td align="center" valign="middle"><%=var_departamento%></td>
<td align="center" valign="middle"><%=var_matricula%></td>
<td align="center" valign="middle"><%=var_usuario%></td>
<td align="center" valign="middle"><%=var_Data%></td>
<td align="center" valign="middle"><%=var_status%></td>
<td align="center" valign="middle"><%=var_obs%></td>
<td align="center" valign="middle"><%=var_contador%></td>
<td align="center" valign="middle">
<table width="100%" border="0">
<tr>
</p><th scope="col"><a href="quadro_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="30" height="30" id="atualizar" /></a></th>
<th scope="col"><a href="quadro_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="30" height="30" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<%
MyRst.MoveNext
loop
%>
</table>

Mostra o numero de cada linha até atende mas eu queria o total, como faço pra mostrar so o total?

Compartilhar este post


Link para o post
Compartilhar em outros sites

var_contador=0

antes do

do while not myRst.EOF

 

e essa linha <td align="center" valign="middle"><%=var_contador%></td>

tem que ser no final de tudo.

 

antes de </table>

 

você abre uma nova linha com o numero de colunas que esta usando e joga a variavel contador

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo da situação melhor usar um contatdor normal ou a clausula count do SQL, pois se o seu bd for muito grande o recordcount do objeto recordset para apresentar queda de desempenho
e para usar o RecordCount , seu cursortype tem k ser recordset.CursorType = 3 (AdOpenDynamic)

exemplo:

<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn

' Count how many records exist
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT objRS.EOF
iRecordCount = iRecordCount + 1
objRS.MoveNext
Loop

' Display result
Response.Write "(" & iRecordCount & ")"

objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

SQL COUNT

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

dependendo da situação melhor usar um contatdor normal ou a clausula count do SQL, pois se o seu bd for muito grande o recordcount do objeto recordset para apresentar queda de desempenho

e para usar o RecordCount , seu cursortype tem k ser recordset.CursorType = 3 (AdOpenDynamic)

 

exemplo:

<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn

' Count how many records exist
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT objRS.EOF
iRecordCount = iRecordCount + 1
objRS.MoveNext
Loop

' Display result
Response.Write "(" & iRecordCount & ")"

objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
SQL COUNT

 

<!--#INCLUDE VIRTUAL="/includes/connection.asp" -->

 

<%

DIM mySQL, objRS

mySQL = "SELECT Count(*) AS intTotal FROM myTable"

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.Open recSQL, objConn

 

' Display result

Response.Write objRS("intTotal")

 

objRS.Close

Set objRS = Nothing

objConn.Close

Set objConn = Nothing

%>

 

Xanbur no caso queria mostrar o total que foi exibido no select. nao necessariamente o banco inteiro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu deixei o contador unitário na pagina chamado item e deixei a contagem de um a um mas a ideia continua deixar o numero total fora do Loop pra mostrar o total de itens listados no top da pagina.

 

<%
var_contador=0
do while not myRst.EOF
var_contador=var_contador + 1
var_codigo = myRst.fields("codigo")
var_ct = myRst.fields("ct")
var_DNF = myrst.fields("Data_NF")
var_NFISCAL = myrst.fields("Nfiscal")
var_descricao = myrst.fields("Descricao")
var_descricao_item = myrst.fields("Descricao_item")
var_Processador = myrst.fields("Processador")
var_Men = myrst.fields("Mem")
var_HD = myrst.fields("HD")
var_Windows = myrst.fields("Windows")
var_Office = myrst.fields("Office")
var_valor = myrst.fields("Valor")
var_Departamento = myrst.fields("Departamento")
var_matricula = myrst.fields("Matricula")
var_usuario = myrst.fields("Usuario")
Var_data = myrst.fields("Data")
var_status = myrst.fields("Status")
Var_obs= myrst.fields("obs")
%>
<tr>
<td align="center" valign="middle"><%=var_contador%></td>
<td height="1" align="center" valign="middle"><%=var_ct%></td>
<td align="center" valign="middle"><%=var_DNF%></td>
<td align="center" valign="middle"><%=var_NFISCAL%></td>
<td align="center" valign="middle"><%=var_descricao%>-<%=var_descricao_item%></td>
<td align="center" valign="middle"><%=var_Processador%></td>
<td align="center" valign="middle"><%=var_Men%></td>
<td align="center" valign="middle"><%=var_HD%></td>
<td align="center" valign="middle"><%=var_Windows%></td>
<td align="center" valign="middle"><%=var_Office%></td>
<td align="center" valign="middle"><%=var_valor%></td>
<td align="center" valign="middle"><%=var_departamento%></td>
<td align="center" valign="middle"><%=var_matricula%></td>
<td align="center" valign="middle"><%=var_usuario%></td>
<td align="center" valign="middle"><%=var_Data%></td>
<td align="center" valign="middle"><%=var_status%></td>
<td align="center" valign="middle"><%=var_obs%></td>
<td align="center" valign="middle">
<table width="100%" border="0">
<tr>
</p><th scope="col"><a href="quadro_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="30" height="30" id="atualizar" /></a></th>
<th scope="col"><a href="quadro_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="30" height="30" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<%
MyRst.MoveNext
loop
%>
<tr>
<td align="center" valign="middle"><%=var_contador%></td>
</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro tem um erro:

 

vc esta criando uma tr abaixo do loop, mas esta fechando a table acima do loop e depois fecha outra table que não existe. ....

 

arrume isso que ele tem que mostrar. outra dica, coloque o var_contador = var_contador + 1 acima do MyRst.MoveNext, fica mais facil para visualizar onde esta somando o numero

Compartilhar este post


Link para o post
Compartilhar em outros sites

queria mostrar o total que foi exibido no select. nao necessariamente o banco inteiro.

esclarecendo: a dica do post #5 usa 1 sql "generica" apenas como 1 exemplo;

se uma consulta usa "where" é claro que não vai ser exibido "o banco inteiro" (alias é p/ isso que existe o "where")...

 

se tem duvidas sobre where:

https://www.google.com.br/search?q=where+sql&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a&gfe_rd=cr&ei=8qpMVZa2FoqogQTTk4GwAg

 

mais dicas sobre sql:

http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx

http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro tem um erro:

 

você esta criando uma tr abaixo do loop, mas esta fechando a table acima do loop e depois fecha outra table que não existe. ....

 

arrume isso que ele tem que mostrar. outra dica, coloque o var_contador = var_contador + 1 acima do MyRst.MoveNext, fica mais facil para visualizar onde esta somando o numero

ronaldo nao apareceu antes pq estava colocando pra exibir antes mas agora arrumei, ficou do jeito que queria mt obrigado cara me ajudou muito.

Fiz assim:

<%
var_contador=0
do while not myRst.EOF
var_contador=var_contador + 1
var_codigo = myRst.fields("codigo")
var_CPU = myRst.fields("CPU")
var_DESCRICAO = myrst.fields("DESCRICAO")
var_ACAO = myrst.fields("ACAO")
var_USUARIO = myrst.fields("USUARIO")
var_MATRICULA = myrst.fields("MATRICULA")
var_DEPARTAMENTO = myrst.fields("DEPARTAMENTO")
var_DATA = myrst.fields("DATA")
var_obs = myrst.fields("OBS")
%>
<tr>
<td align="center" valign="middle"><%=var_CPU%></td>
<td align="center" valign="middle"><%=var_DESCRICAO%></td>
<td align="center" valign="middle"><%=var_ACAO%></td>
<td align="center" valign="middle"><%=var_USUARIO%></td>
<td align="center" valign="middle"><%=var_MATRICULA%></td>
<td align="center" valign="middle"><%=var_DEPARTAMENTO%></td>
<td align="center" valign="middle"><%=var_DATA%></td>
<td align="center" valign="middle"><%=var_OBS%></td>
<td align="center" valign="middle">
<table width="100%" border="1">
<tr>
</p><th scope="col"><a href="Atualizar_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="32" height="32" id="atualizar" /></a></th>
<th scope="col"><a href="Atualizar_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="35" height="35" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<% myRst.MoveNext
loop
%>
<tr>
<th width="100%" valign="middle" colspan="17" scope="col">Total de Itens Listados: <%=var_contador%></th>
</tr>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode até usar jquery para preencher o valor acima (antes de tudo)

 

na pratica seria

a-) faz o codigo e gera o num total

b-) depois faz um script jquery para atualizar uma div com o valor total. isso é fácil

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode até usar jquery para preencher o valor acima (antes de tudo)

 

na pratica seria

a-) faz o codigo e gera o num total

b-) depois faz um script jquery para atualizar uma div com o valor total. isso é fácil

Ronaldo nunca fiz uma jquery :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

em jquery para contar, faz assim:

 

<script src="jquery.js"></script>

<script>
$(document).ready(function() {
alert( $("#tabela tr").length );
});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.