Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, beleza estou aqui pedindo uma ajudinha para vocês novamente, pois NUNCA usei o comando COUNT.
Estou fazendo um site de Aluguel de Jogos online onde a pessoa pode escolher no mínimo 5 jogos e no máximo 10...OK!
O que esta acontecendo é que ele não esta contabilizando quantos jogos a pessoa ja pegou anteriormente e deixa livre para que ela possa escolher mais 10 por exemplo, gostaria de "TRAVAR" isso e mandar um Alert, por exemplo a pessoa ja tem 5 jogos escolhidos de um dia e no outro se ele for tentar escolher 10 ele contabiliza que ja havia 5 jogos e só deixa escolher mais 5 "travando" e mandando um Alert que ja haviam 5 jogos escolhidos anteriormente mais a quantidade de jogos que ele esta escolhendo... (rsssss) espero que tenham entendido.
Precisava fazer algo + ou - assim o total de jogos que a pessoa tem gravada la no BD + a quantidade de jogos que ela esta escolhendo agora até dar 10 e assim dar um ALERT
TotalJogos = TotalBD + TotalEscolhido
Comecei assim:
COUNT(id_jogos) AS TotalBD FROM tb_aluguel WHERE id_cad = &Session("idLog")&
Nem sei se pode usar assim com Session, mas pra variar ja deu erro:
>
Erro de compilação do Microsoft VBScript erro '800a0401'
Fim da instrução esperado
/jogos/centralpage-SelecionarJogos.asp, linha 531
COUNT(id_jogos) AS TotalBD FROM tb_aluguel WHERE id_cad = &Session("idLog")&
Como eu havia dito, NUNCA usei esse comando COUNT, então "ESTOU MAIS PERDIDO DO QUE AZEITONA EM BOCA DE BANGUELO"
peço um HELP URGENTE!!! Pois só falta isso pra entregar esse Site
<form method='post' action='centralPage-ValidarOrdemJogo.asp' name='defineordem' id='defineordem'onsubmit='return validaformulario10(opcao1,opcao2,opcao3,opcao4,opcao5,opcao6,opcao7,opcao8,opcao9,opcao10);'>
<input type='hidden' name='idjogo1' id='idjogo1' value=''>
<input type='hidden' name='idjogo2' id='idjogo2' value=''>
<input type='hidden' name='idjogo3' id='idjogo3' value=''>
<input type='hidden' name='idjogo4' id='idjogo4' value=''>
<input type='hidden' name='idjogo5' id='idjogo5' value=''>
<input type='hidden' name='idjogo6' id='idjogo6' value=''>
<input type='hidden' name='idjogo7' id='idjogo7' value=''>
<input type='hidden' name='idjogo8' id='idjogo8' value=''>
<input type='hidden' name='idjogo9' id='idjogo9' value=''>
<input type='hidden' name='idjogo10' id='idjogo10' value=''>
<input type='hidden' name='sequenciajogo1' id='sequenciajogo1' value='' />
<input type='hidden' name='sequenciajogo2' id='sequenciajogo2' value='' />
<input type='hidden' name='sequenciajogo3' id='sequenciajogo3' value='' />
<input type='hidden' name='sequenciajogo4' id='sequenciajogo4' value='' />
<input type='hidden' name='sequenciajogo5' id='sequenciajogo5' value='' />
<input type='hidden' name='sequenciajogo6' id='sequenciajogo6' value='' />
<input type='hidden' name='sequenciajogo7' id='sequenciajogo7' value='' />
<input type='hidden' name='sequenciajogo8' id='sequenciajogo8' value='' />
<input type='hidden' name='sequenciajogo9' id='sequenciajogo9' value='' />
<input type='hidden' name='sequenciajogo10' id='sequenciajogo10' value='' />
<br />
<%
DIM rsaluguel
Set rsaluguel = Server.CreateObject("ADODB.Recordset")
rsaluguel.ActiveConnection = Conexao
rsaluguel.Source = "SELECT COUNT(id_jogos) AS TotalBD FROM tb_aluguel WHERE id_cad = "&Session("idLog")&""
rsaluguel.CursorType = 3
rsaluguel.CursorLocation = 3
rsaluguel.LockType = 2
rsaluguel.Open()
contador = 1
jogos = request("escolhejogo")
IdJogo = Split(jogos, " ")
For i = LBOUND(IdJogo) to UBOUND(IdJogo)
Set rsjogos = Server.CreateObject("ADODB.Recordset")
rsjogos.ActiveConnection = Conexao
rsjogos.Source = "SELECT COUNT("&idJogo(i)&") AS TotalEscolhido FROM tb_aluguel WHERE id_cad = "&Session("idLog")&""
contador = contador + 1
Next
If cdbl(TotalBD) + cdbl(TotalEscolhido) > 11 then
SQL = "INSERT INTO tb_aluguel(id_cad, id_jogos, ordem) Values ("&Session("idLog")&", '"&IdJogo(i)&"', '"&contador&"')"
Conexao.execute(sql)
else%>
<script>alert("Só pode escolher no máximo 10 jogos!");</script>)
<table border="0" width="100%" id="table1" height="69">
<tr>
<td height="18" colspan="5" align="center" class="texto"><span class="style81">Definir Ordem de Recebimento dos Jogos</span></td>
</tr>
<tr>
<td height="19" colspan="3" align="center" class="texto"><span class="style81">Nome do Jogo</span></td>
<td width="17%" height="19" align="center" class="texto"><span class="style81">Ordem de Recebimento</span></td>
<td align="center" class="texto"><span class="style81">Remover</span></td>
</tr>
<%
Set rsjogos = Conexao.Execute("SELECT * FROM tb_aluguel order by ordem asc")
Do While not rsjogos.Eof
Set jogos = Conexao.Execute("SELECT * FROM tb_jogos where id_jogos = "&rsjogos("id_jogos")&"")
%>
<tr>
<td width="4%" align="left" class="texto"><input name="FRM_ID" id="FRM_ID" type="hidden" size="5" value="<%=rsjogos("id_jogos")%>" /></td>
<td width="7%" align="right" class="texto"><span class="style81"><%=rsjogos("ordem")%>º - </span></td>
<td width="62%" align="left" class="texto"><%=jogos("titulo")%></td>
<td align="center" class="style81"><select name='opcoes' size='1' class="style81" id='opcao<%=rsjogos("ordem")%>' >
<option value='' selected>--Escolher--</option>
<option value='1' selected>1º opção</option>
<option value='2'>2º opção</option>
<option value='3'>3º opção</option>
<option value='4'>4º opção</option>
<option value='5'>5º opção</option>
<option value='6'>6º opção</option>
<option value='7'>7º opção</option>
<option value='8'>8º opção</option>
<option value='9'>9º opção</option>
<option value='10'>10º opção</option>
</select></td>
<td width="10%" align="center" class="texto"><a href='#void(0);'><img border='0' src='images/btn_lixeira.gif' width='16' height='16' onClick="confirmaexclusao('<%=jogos("titulo")%>','<%=rsjogos("id_jogos")%>','<%=rsjogos("id_jogos")%>');"></a>
</tr>
<%
rsjogos.movenext
loop
end if
rsjogos.close
set rsjogos = nothing
%>
</table>
</p>
<p align="center">
<span class="style81">
<input type="submit" name="Atualizar" value="Atualizar" class="style81">
<input type="reset" name="Limpar" value="Limpar" class="style81">
<input type="button" name='Voltar' value='Voltar' class='style81' onClick="location.href='centraldoAssinante.asp';">
</span>
</form>
</p>
</td>
</tr>
</table></td>
Fiz assim mas qualquer coisa que eu clico Atualizar, Apagar, qualquer coisa vem o ALERT, gostaria que aparecesse somente quando passar dos 10 escolhidos e a soma com o que ja esta no BD!!!
Alguem poderia me ajudar????
Bem aki que ta dando Problema:
<%
DIM rsaluguel
Set rsaluguel = Server.CreateObject("ADODB.Recordset")
rsaluguel.ActiveConnection = Conexao
rsaluguel.Source = "SELECT COUNT(id_jogos) AS TotalBD FROM tb_aluguel WHERE id_cad = "&Session("idLog")&""
rsaluguel.CursorType = 3
rsaluguel.CursorLocation = 3
rsaluguel.LockType = 2
rsaluguel.Open()
contador = 1
jogos = request("escolhejogo")
IdJogo = Split(jogos, " ")
For i = LBOUND(IdJogo) to UBOUND(IdJogo)
Set rsjogos = Server.CreateObject("ADODB.Recordset")
rsjogos.ActiveConnection = Conexao
rsjogos.Source = "SELECT COUNT("&idJogo(i)&") AS TotalEscolhido FROM tb_aluguel WHERE id_cad = "&Session("idLog")&""
contador = contador + 1
Next
If cdbl(TotalBD) + cdbl(TotalEscolhido) > 11 then
SQL = "INSERT INTO tb_aluguel(id_cad, id_jogos, ordem) Values ("&Session("idLog")&", '"&IdJogo(i)&"', '"&contador&"')"
Conexao.execute(sql)
else%>
<script>alert("Só pode escolher no máximo 10 jogos!");</script>)usa um SELECT TOP 10 do SQL
>
usa um SELECT TOP 10 do SQL
Como eu falei no início do post eu nunca usei o comando COUNT então não tenho nem noçao por onde começar esse tipo...**SELECT TOP 10 do SQL**
ah! uma outra pergunta o count começa a contar do 0 ou do 1 pq quando peco para ele contar a quantidade de registros sempre me mostra 1 a menos como se iniciasse do 0, se inicia do 0 como faço pra ele começar do 1?????? Grato.
A cláusula TOP é usada para especificar o número de registros para retornar.
A cláusula TOP pode ser muito útil em tabelas grandes com milhares de registros. Retornando um grande número de registros podem ter impacto no desempenho.
<%
DIM mySQL, objRS
mySQL = "SELECT Count(*) AS intTotal FROM myTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open recSQL, objConn
if objRS("intTotal") > 10 then
'redireciona para um pop-up que esta com 10 jogos
Else
'...
'...aqui seu código
'...
end if
dependendo da situacaun 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
%>