Ir para conteúdo
Fórum Script Brasil
  • 0

Com Eu Poderia Esta Fazendo O Loop


Deividy

Pergunta

olha esse código

<%

sql = "SELECT * FROM propriedade WHERE cod=" & id &" ORDER BY cont"

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

cont.Open sql, cnn, 3, 3

Response.Write("Visualizar outras Proriedades:")

n = 0

do while not cont.EOF

conter = cont("cont")

cod = cont("cod")

if isNumeric(id) = isNumeric(cod) then

n = n + 1

end if

cont.MoveNext

loop

for i = 1 to n

%>

<a href="propriedades_ce.asp?propriedade=<%=id%>&cont=<%=conter%>" class="bt-voltar">[<%= i %>]</a>

<%

next

cont.Close

Set cont = Nothing

onde esta escrito em vermelho

tipo assim preciso fazer que que o conter aparece todos que estão cadastrado é como se fosse um segundo id mais não estou conseguindo fazer ele mostrar os numeros corretamente e como ele esta agora ele só mostra um deles

se eu colocar o loop para o fim ele multiplica o i fazendo aparecer dois primeiros numeros!

como eu arrumo isso?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

então seria se o numero que quero fosse os mesmo.

é assim

o cont é uma estensão do cliente

ex

cliente 1 == ele tem 2 casa

cliente 2 == ele tem 3 casa

cliente 3 == ele tem 1 casa

então para que eu identifique cada um fiz assim

cliente tem seu cod esse mesmo se repeti caso ele tenha mais de uma casa

ai para saber quanta casa ele tem eu coloquei o cont

então n obanco fica

cod | cont

cliente | identificando a casa dele

dai que entra i for

eu conteu o registro do cont porque faço isso simple porque se ele tem 3 casa e deleta a 2 o numero é crescente ai ele não fica na ordem digo 1 2 3 4

ele esta ficando

1 3 4

e quero que fique

1 2 3

onde sei que o 3 no meu caso ai em ultimo é o 4 no banco

Link para o comentário
Compartilhar em outros sites

  • 0

fico dificil imagino mesmo!

bom é assim

ex.

tenho um registro com meu nome ai claro tenho um id

aqui no caso

id = 10

eu posssuo 3 casas

esse registro é feito então fica assim

cliente quant nome endereço

id = 10 1 nome da casa rua...

id = 10 2 nome da casa rua...

id = 10 3 nome da casa rua...

id = 12 1 nome da casa rua...

id = 15 1 nome da casa rua...

bom esta ai meu registro é isso

agora na tela ficava assim

abria meu registro conparava o id de quem estava querendo ver e dava um loop para que mostra-se a "quant" de casa "cliente"

fico perfeito poderm...

se eu apago o " 2 " do cliente "10" o registro vai me mostrar assim

"1" "3"

e não quero que fique assim

ai resolver fazer como esta ai em cima...

só que não esta funcionado porque o quant que tem esse nome no meu código "conter = cont("cont") " não entra no loop para funciona

acho que agora fui mais claro

e dava um loop

Link para o comentário
Compartilhar em outros sites

  • 0

Não seria mais fácil usar SQL para contar a quantidade para você? Exemplo:

<%
sql = "SELECT cod, Count(cod) as quantidade FROM propriedade WHERE cod=" & id &" GROUP BY cod"

Set cont = Server.CreateObject("ADODB.Recordset")
cont.Open sql, cnn, 3, 3

Response.Write("Visualizar outras Propriedades:")

cod = cont("cod")
qt = cont("quantidade")

for i = 1 to qt %>
  <a href="propriedades_ce.asp?propriedade= <% =cod %> & cont= <% =qt %>" class="bt-voltar">[<% =i %>]</a> <%
next

cont.Close
Set cont = Nothing
%>

Não testei aqui, mas seria isso?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

então isso que se fez é igual ao que eu tinha feito com a diferença que você somo no sql valeu diminuiu meu código

mais ainda continua meu problema

qt que no meu código chega 3 então tenho o registro 1 e 3 ele precisa ter um loop nele e esse loop precisa ser junto com o for

Link para o comentário
Compartilhar em outros sites

  • 0
então isso que se fez é igual ao que eu tinha feito com a diferença que você somo no sql valeu diminuiu meu código

mais ainda continua meu problema

qt que no meu código chega 3 então tenho o registro 1 e 3 ele precisa ter um loop nele e esse loop precisa ser junto com o for

Não entendi. Ali no caso, você vai ter apenas um registro. Se você pede o cliente de id=1, você terá (no recordset cont):

id quantidade

1 3

Se qt = quantidade e quantidade = 3 então aquele For vai escrever 1, 2, 3, independente do número da casa. Não é isso que você quer?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

pessoal agradeço a quem tenha me ajudado!

como é um problema com o qual eu tinha muitoa pressa em resolver eu não desiti um só instante em consegui um resultado plausivel

então aqui esta a conclusão

 <%
sql = "SELECT cod, cont FROM propriedade WHERE cod=" & id &" ORDER BY cont"
Set cont = Server.CreateObject("ADODB.Recordset")
cont.Open sql, cnn, 3, 3

if not cont.EOF then
	matriz = cont.GetRows()
end if	

Response.Write("Visualizar outras Proriedades:")

nRows = UBound( matriz, 2 )
For row = 0 to nRows
%>
<a href="propriedades_ce.asp?propriedade=<%= matriz(0, row ) %>&cont=<%= matriz(1, row ) %>" class="bt-voltar">[<%= row +1 %>]</a>
<%
Next 
cont.Close
Set cont = Nothing
%> 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...