Ir para conteúdo

POWERED BY:

Arquivado

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

Helinho Coelho

Como reutilizar registros de uma consulta ASP

Recommended Posts

Olá, a minha dúvida é relativamente simples mas não estou conseguindo resolver. Eu tenho um RS que me retorna vários registros e eu gostaria de poder pegar um a um desses registros, na mesma página, e reutilizá-los.

 

BD = dados.mdb

Tabela = transporte

coluna 1 = id

coluna 2 = onibus (2 onibus diferentes)

coluna 3 = poltrona (46 poltronas para cada ônibus)

 

Eu estou fazendo um RS para me retornar somente os registros que estão como "ONIBUS 01" na coluna "onibus", aí dá tudo certo pois me retornam três registros que contém as poltronas 01, 02 e 05 que até então foram reservadas no ONIBUS 01.

 

Só que eu tenho um desenho do ônibus com as poltronas numeradas (na cor verde) e com um X (vermelho) para as que já estão reservadas, no caso 01, 02 e 05. E eu não consigo fazer as poltronas ficarem com a imagem vermelhas indicando que já estão ocupadas pois dá erro no codigo.

 

 

Como eu deveria montar os RecordSets e como deveria chamar afim de utilizar os resultados dos RS?

 


<%
Dim RSpoltrona
Dim RSpoltrona_cmd
Dim RSpoltrona_numRows

Set RSpoltrona_cmd = Server.CreateObject ("ADODB.Command")
RSpoltrona_cmd.ActiveConnection = MM_dados_STRING
RSpoltrona_cmd.CommandText = "SELECT poltrona FROM transporte WHERE onibus = ONIBUS 01" 
RSpoltrona_cmd.Prepared = true

Set RSpoltrona = RSpoltrona_cmd.Execute
RSpoltrona_numRows = 0
%>

...

<% If RSpoltrona = 01 Then %>
<img src="img/poltrxx.gif"/>
<% Else %>
<img src="img/poltr01.gif"/>
<% End If %>

<% If RSpoltrona = 02 Then %>
<img src="img/poltrxx.gif"/>
<% Else %>
<img src="img/poltr02.gif"/>
<% End If %>

<% If RSpoltrona = 03 Then %>
<img src="img/poltrxx.gif"/>
<% Else %>
<img src="img/poltr03.gif"/>
<% End If %>

<% If RSpoltrona = 04 Then %>
<img src="img/poltrxx.gif"/>
<% Else %>
<img src="img/poltr04.gif"/>
<% End If %>

...

 

 

Grato pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta colocar o RS em uma variável e depois chamar esta variável

 

Vamos supor que você tenha um RS com informação do seu nome... assim...

 

RS("nome")

Dai você coloca ele dentro de uma variavel assim...

 

vNome = RS("nome")

Depois em qualquer parte do seu code, basta chamar esta variável...

 

Response.Write vNome

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me perdoem mas não entendi direito como fazer isso na prática com os códigos o loop e tal. Eu preciso trabalhar com os resultados da busca de um RS anterior que é feito buscando as poltronas que estão com ONIBUS 01 na coluna "onibus" da tabela.

 

Me deem uma luz de como construir essa instrução a partir do RSpoltronas (todas os números das poltronas que estão no ONIBUS 01).

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então

 

O que o patrique disse é que o seu recordset chama-se RSpoltronas

 

E voce precisa dizer qual é o campo que está recuperando

 

algo como

 

RSpoltronas("poltrona")

 

Deverá ser recuperadas todas as poltronas então é bom lista-las ou testa-las entro de um laço de repetição como o Vinicius informou

Compartilhar este post


Link para o post
Compartilhar em outros sites

So complementando o que o Vinicios postou.

 

Como a chamativa da variável do BD é chamado mais de uma vez, é aconselhável colocar essa variável em uma outra variável chamativa, que poderá ser utilizado no restante da aplicação na mesma page.

 

Ficando assim...

 

if not RS.EOF then
         do while not RS.eof
             Dim poltrona
             poltrona = rs("poltrona")
             if poltrona = "ocupado" then
              response.write poltrona & "ocupado"
             else
              response.write poltrona & "vazio"
            end if
        RS.MoveNext
     loop
end If

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, realmente não consegui fazer pois a lógica que preciso é outra porque a base de dados que quero trabalhar provem de uma tabela vazia onde a medida que a pessoa reserva uma poltrona, um registro novo será acrescentado na tabela.

 

Sendo assim vou tentar explicar para os amigos com mais detalhes.

 

1º) Eu tenho uma tabela, apenas uma tabela, chamada "transporte"

2º) Dentro dessa tabela eu tenho as colunas: id, nome, onibus, poltrona

3º) Tenho uma página em ASP chamada "onibus.asp" que é aberta recebendo uma String anterior, no caso "ONIBUS 01"

4º) Na página "onibus.asp" eu tenho o desenho de um onibus com 46 gifs (das poltronas) numeradas mas não em ordem crescente e sim na ordem real que há em um onibus de verdade.

5º) Abaixo do desenho do onibus eu tenho uma Lista de Passageiros mostrando a "poltrona" e o "nome" em ordem crescente (de cima para baixo).

 

 

Sendo assim, se não existirem reservas no ônibus não haverá registro algum na tabela "transporte". Por isso vamos partir do pressuposto que existam 3 reservas feitas (três registros dentro da tabela) para as poltronas "01", "02" e "05" ocupando respectivamente os registros 1, 2 e 3 da tabela "transporte".

 

Vale ressaltar que a Lista de Passageiros (abaixo do desenho do onibus) tá Ok, ou seja, eu já consigo listar através do "RSlista" todos os passageiros em ordem crescente de "poltrona" que contém o texto "ONIBUS 01" na coluna "onibus" da tabela "transporte".

 

O que eu quero fazer é que a GIF da poltrona 01 (do desenho) apareça como uma poltrona XX (vermelha) quando a coluna "poltrona" da tabela "transporte" estiver com o valor "01" caso contrário mantenha a GIF da poltrona 01.

 

Não posso usar o loop porque a sequencia das poltronas e totalmente desordenada e não obedece o critério de crescente e ascendente. Então para finalizar a minha explicação eu pensei em fazer trabalhar com o If em cada espaço da poltrona.

 

Onde o "RSonibus" está com o seguinte select: "SELECT * FROM transporte WHERE onibus = ONIBUS 01"

 

<% If Not RSonibus.EOF Then %>
<% ElseIf RSonibus("poltrona") = "01" Then %>
<img src="img/poltrXX.gif"/>
<% Else %>
<img src="img/poltr01.gif"/>
<% End If %>

 

Está ficando assim:

Imagem Postada

 

 

Mas eu quero que fique assim:

Imagem Postada

 

 

 

Desde já agradeço a atenção, apoio e paciência de vocês!

 

Helinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos simplificar as coisas, melhorar sua lógica e resolver sua duvida.

 

Traga o seu RS com as poltronas ocupadas de forma ordenada, do menor para o maior (ASC);

Vamos simplificar a "construção" de seu ônibus, faça um Laço de repetição de 1 até o total de poltronas, com isso eliminamos a repetição de "n" vezes "na mão" de seu IF;

Verifique se não é o final de seu RS e teste se o passo do laço é igual ao número da poltrona ocupada, se for é só colocar XX na imagem e dar um MoveNext em seu RS, se não for coloca o valor do passo na imagem.

Terá apenas que fazer alguns ajustes, mas basicamente fica assim:

 

SQL os dados ordenados
RS com os dados
Laço FOR de 1 até o total
Se não for EOF do seu RS faça
	Se o valor no RS for igual ao passo faça
		imagemXX
		RS,MoveNext
	Senão faça
		imagem"& passo
	Fim do IF
Senão faça
	imagem"& passo
Fim do IF
Próximo item do laço

 

 

Tente implementar seguindo essa lógica, em caso de duvidas é só postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado,

 

Realmente não consegui montar a lógica que você sugeriu. Não entendi o tal do passo e laço, escreve pra mim como código ASP que acredito ser melhor de entender. Outra coisa que não entendo, como fazer um RS de poltronas ocupadas + onibus selecionado dentro do SELECT e como sequenciar a visualização das poltronas numeradas se não existe uma ordem cronológica e crescente no desenho do onibus real?

 

 

 

O HTML que você pediu Patrique, segue abaixo:

<table width="530" height="170" border="0" align="right" cellpadding="0" cellspacing="4" background="img/onibus.gif">
    <tr>
      <td width="22" height="28"> </td>
      <td colspan="12" rowspan="4" align="center" valign="middle"><table border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td><table border="0" cellspacing="2" cellpadding="0">
            <tr>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr45.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr41.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr37.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr33.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr29.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr25.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr21.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr17.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr13.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr09.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28">
			  <% If Not RSonibus.EOF Then %>
              <% ElseIf RSonibus("poltrona") = "05" Then %>
              <img src="img/poltrxx.gif" width="31" height="28" />
              <% Else %>
              <img src="img/poltr05.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28">
			  <% If Not RSonibus.EOF Then %>
              <% ElseIf RSonibus("poltrona") = "01" Then %>
              <img src="img/poltrxx.gif" width="31" height="28" />
              <% Else %>
              <img src="img/poltr01.gif" width="31" height="28" />
              <% End If %>
              </td>
            </tr>
            <tr>
              <td width="31" height="28">
			  <% If Not RSonibus.EOF Then %>
              <% ElseIf RSonibus("poltrona") = "46" Then %>
              <img src="img/poltrxx.gif" width="31" height="28" />
              <% Else %>
              <img src="img/poltr46.gif" width="31" height="28" />
              <% End If %>
              </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr42.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr38.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr34.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr30.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr26.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr22.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr18.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr14.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr10.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr06.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr02.gif" width="31" height="28" />
              <% End If %>
              </td>
            </tr>
            <tr>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
              <td width="31" height="28"> </td>
            </tr>
            <tr>
              <td width="31" height="28"> </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr44.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr40.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr36.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr32.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr28.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr24.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr20.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr16.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr12.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr08.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr04.gif" alt="" width="31" height="28" />
                <% End If %></td>
            </tr>
            <tr>
              <td width="31" height="28"> </td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr43.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr39.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr35.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr31.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr27.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr23.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr19.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr15.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr11.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr07.gif" alt="" width="31" height="28" />
                <% End If %></td>
              <td width="31" height="28"><% If RSonibus.EOF Then %>
                <img src="img/poltrxx.gif" width="31" height="28" />
                <% Else %>
                <img src="img/poltr03.gif" width="31" height="28" />
              <% End If %>
              </td>
            </tr>
          </table></td>
        </tr>
      </table></td>
      <td colspan="2"> </td>
    </tr>
    <tr>
      <td> </td>
      <td width="54"> </td>
      <td width="28"> </td>
    </tr>
    <tr>
      <td height="28"> </td>
      <td colspan="2" rowspan="2"> </td>
    </tr>
    <tr>
      <td height="28"> </td>
      </tr>
  </table>

                          <%
' Horizontal Looper version 3
  While ((Repeat_RSonibus__numRowsHL <> 0) AND (NOT RSonibus.EOF))
%>
                          <td><table width="500" height="19" border="0" align="center" cellpadding="0" cellspacing="1">
                            <tr>
                              <td width="70" align="center" class="texto2"><%=(RSonibus.Fields.Item("poltrona").Value)%></td>
                              <td class="texto4"><%=(RSonibus.Fields.Item("nome").Value)%></td>
                            </tr>
                          </table></td>
                          <%
'Horizontal Looper version 3
    Repeat_RSonibus__indexHL=Repeat_RSonibus__indexHL+1
    Repeat_RSonibus__numRowsHL=Repeat_RSonibus__numRowsHL-1
    RSonibus.MoveNext()
    if len(nested_RSonibus)<=0 then
      nested_RSonibus = 1
    end if
    if ((Repeat_RSonibus__numRowsHL <> 0) AND (NOT RSonibus.EOF) AND (nested_RSonibus mod 1 = 0)) then
      Response.Write "</tr><tr>"
    end if
    nested_RSonibus = nested_RSonibus + 1
    'end horizontal looper version 3
  Wend
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites
Salgado,

 

Realmente não consegui montar a lógica que você sugeriu. Não entendi o tal do passo e laço, escreve pra mim como código ASP que acredito ser melhor de entender.

Quando digo laço de repetição estou falando um FOR e passo é cada passada pelo laço.

SQL os dados ordenadosRS com os dados
FOR x = 1 to 46
IF NOT RS.EOF THEN
	IF RS("SeuCampo") = X THEN
		imagemXX
		RS.MoveNext
	ELSE
		imagem"& X
	END IF
ELSE
	imagem"& X
END IF

NEXT

Esse é apenas um escopo básico do laço. Tem que ser "lapidado" para executar da melhor forma.

Outra coisa que não entendo, como fazer um RS de poltronas ocupadas + onibus selecionado dentro do SELECT e como sequenciar a visualização das poltronas numeradas se não existe uma ordem cronológica e crescente no desenho do onibus real?

No exemplo inicial você listou os dados de forma ordenada em seus IF's, por isso imaginei a ordenação dos dados.

 

Vamos tentar exibir inicialmente as imagens corretas, depois formatamos melhor as imagens, penso que o uso de CSS possa ajudar a manter o seu script mais "limpo" e dentro das WebStandarts.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado,

 

Fiz do jeito que sugeriu e não deu certo. Eu acho que prefiro fazer os IFs em cada poltrona mesmo, não me importo. Mas para isso só preciso de uma coisa: reutilizar o RSonibus que está com um select "SELECT * FROM transporte WHERE onibus = ONIBUS 01". Ou seja, este RSonibus me retorna todas as poltronas que foram reservadas dentro do ônibus 01. No caso, 01,02 e 05 aqui é importante você entender que só existem até então 3 registros dentro da tabela transporte e que não existe registro para as outras poltronas, ou seja, os registros vão aparecendo a medida que o usuário reserva uma poltrona consequentemente criando um novo registro dentro da tabela "transporte".

 

Veja bem, se o RSonibus com o select acima descrito me retorna os registros das poltronas 01,02 e 05 então eu só preciso saber como fazer para chamar especificamente um registro desse RSonibus sem loop. Na verdade eu só não sei fazer isso... se o RSonibus me retorna os valores 01,02 e 05 e gostaria de saber como ficaria o código para chamar o 05 por exemplo, entendeu?

 

Bom, mas se ficar muito difícil de montar e você não tiver entendido não se preocupe. Já fico grato por sua atençaõ!

 

 

O código que fiz e não deu certo:

<% For x = 1 to 46
   If Not RSonibus.EOF Then
   If RSonibus("poltrona") = x Then%>
   <img src="img/poltrxx.gif" width="31" height="28"/>

<% RSonibus.MoveNext %>
<% Else %>

   imagem"& x
<% End If %>
<% Else %>
   imagem"& x
<% End If %>
<% Next %> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu entendi o que quer fazer e que o RS retorna apenas os assentos ocupados, e é exatamente o que estava testanto com os IF's.

 

Quando você diz que não funcionou, deu algum erro no script ou não teve o resultado esperado?

 

Agora me deixe melhor entender algumas coisas, o campo poltrona de sua tabela é do tipo texto ou numérico? Se for número o teste está feito da forma correta, se for texto deveremos fazer de outra forma.

 

Sua SQL deverá estar ordenada de forma ascendente, acrescente ao final dela "ORDER BY poltronas ASC;". Isso é essencial para o funcionamento do teste.

 

Veja se essa alteração já surte algum efeito:

<% For x = 1 to 46
If Not RSonibus.EOF Then
	If RSonibus("poltrona") = Right("0"& x,2) Then
		Imagem = "xx"
		RSonibus.MoveNext
	Else
		Imagem = Right("0"& x,2)
	End If
Else
	Imagem = Right("0"& x,2)
End If
%><img src="img/poltr<%=Imagem%>.gif" width="31" height="28"/></br><%
Next %>

 

Estou propondo desta forma pois vejo que uma forma melhor até para os casos em que seja necessário uma manutenção em seu sistema. E não que a forma que estava querendo/pensando seja errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Show de Bola Salgado,

 

Funcionou perfeitamente com o seguinte código que você escreveu:

<% For x = 1 to 46
	If Not RSonibus.EOF Then
		If RSonibus("poltrona") = Right("0"& x,2) Then
		Imagem = "xx"
		RSonibus.MoveNext
		Else
		Imagem = Right("0"& x,2)
		End If
	Else
	Imagem = Right("0"& x,2)
	End If %>
	<img src="img/poltr<%=Imagem%>.gif" width="31" height="28"/>
<% Next %>

 

Agora eu consegui entender bem a sua lógica que realmente é bem mais prática e leve de rodar. Na verdade, peço-lhe desculpas por minha ignorância no assunto mas estou tentando ao máximo extrair as melhores opções e aprendizado das suas soluções.

 

Bom, mas voltando ao assunto nós nos deparamos com outro problema que eu já previa anteriormente. A Posição das Poltronas dentro do ônibus! Veja bem, precisaremos setar a codificação que você escreveu de forma que ela crie uma <table> com 12 colunas e 5 linhas gerando assim 60 quadrantes no "loop" realizado pelo For.

 

Eu pensei em criar uma nova coluna chamada "ordem" dentro da tabela "transporte" do BD de tal forma que quando a poltrona 45, por exemplo, fosse reservada na coluna "ordem" seria gravado o número 01 e na poltrona 03 seria gravado o número 60 (ver desenho).

 

Obs: o meu campo poltrona está setado como texto e não como número.

 

Abaixo você pode visualizar como que ficam disponibilizadas as poltronas dentro de um ônibus de viajem real e também visualizar os 60 quadrantes que estariam correspondendo à nova coluna "ordem":

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora que temos listado a imagem correta de cada assento podes tentar fazer isso usando CSS, ou mesmo JavaScript.

 

Monte seu "ônibus/Table" e dê os ID's de suas células (TD's) na ordem correta.

 

Pode montar a CSS de forma dinâmica usando os dados que já tens, ou mesmo usar como uma matriz em JavaScript fazendo uso da propriedade (ou seria função?) InnerHTML do JS.

 

Durante o dia prosseguimos com a solução, estou quebrado. Caso você, ou alguém, tenha entendido as idéias podem dar prosseguimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Salgado,

 

Busquei alguns estudos e outras sugestões e cheguei ao seguinte código, porém ainda está faltando algo para ordenar as poltronas em linhas e colunas:

<% Dim i
i = 1
For x = 1 to 60
        If (i - 1) Mod 12 = 0 Then
            Response.Write("<tr>")
        End If
        If i \ 12 <> 2 And i <> 36 And i <> 48 Then
            If Not RSonibus.EOF Then
                    If RSonibus("poltrona") = Right("0"& x, 2) Then
                    Imagem = "xx"
                    RSonibus.MoveNext
                    Else
                    Imagem = Right("0"& x, 2)
                    End If
            Else
                Imagem = Right("0"& x, 2)
            End If 
            i = i + 1 %>
            <td><img src="img/poltr<%=Imagem%>.gif" width="31" height="28"/></td>
        <% Else
            %><td></td><%
        End if

        If i Mod 12 = 0 Then
            Response.Write("</tr>")
        End If
Next %>

O código acima retorna da seguinte forma (está parando na 23ª poltrona):

Imagem Postada

 

 

Mas eu gostaria que retornasse dessa maneira aqui:

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente seguir o que indiquei aqui:

Agora que temos listado a imagem correta de cada assento podes tentar fazer isso usando CSS, ou mesmo Javascript.

 

Monte seu "ônibus/Table" e dê os ID's de suas células (TD's) na ordem correta.

 

Pode montar a CSS de forma dinâmica usando os dados que já tens, ou mesmo usar como uma matriz em Javascript fazendo uso da propriedade (ou seria função?) InnerHTML do JS.

 

Durante o dia prosseguimos com a solução, estou quebrado. Caso você, ou alguém, tenha entendido as idéias podem dar prosseguimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei aprender e fuçei muito na internet em como montar o CSS ou JavaScript que você me sugeriu. Não consegui... tem como você me dar um exemplo de como funciona o CSS dinâmico para o caso das poltronas?

 

Vlw.

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.