Ir para conteúdo

POWERED BY:

Arquivado

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

natalia

com loop

Recommended Posts

Oi pessoal, poderiam me ajudar com este loop?

 

Eu preciso listar num formulário todos os cursos de informática gravados na tabela Informatica, e preciso deixar checados os cursos que o candidato gravou no seu curriculo na tabela Informatica_x_Candidato. O código abaixou faz isso, porém ele repete os cursos pela qtde de cursos que o candidato tem gravado no seu curriculo. Como faço para que os cursos não se repitam?

 

<%	str = " SELECT * FROM Informatica ORDER BY infNome "	Set rs = Conexao.Execute(str)		Do While Not rs.EOF			 			str2 = " SELECT * FROM Informatica_x_Candidato "			Set rs2 = Conexao.Execute(str2)			Do While Not rs2.EOF 					%>			<input type="checkbox" name="infNome<%=F%>" value="<%=rs("infNome")%>" <% If (rs2("canCodigo") = 82) AND (rs2("infCodigo") = rs("infCodigo")) Then %> checked <% End If %>> <%=rs("infNome")%>		<select name="infCandNivel<%=F%>" id="infCandNivel" class="list">		<option value="1" <% If rs2("infCandNivel") = 1 Then %> selected <% End If %>>Básico</option>		<option value="2" <% If rs2("infCandNivel") = 2 Then %> selected <% End If %>>Intermediário</option>		<option value="3" <% If rs2("infCandNivel") = 3 Then %> selected <% End If %>>Avançado</option>	  </select> <br>	<%			rs2.MoveNext 			loop	 	rs.MoveNext 	loop %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que é simples mas sua pergunta que ficou confusapode exemplificar o que voce quer e como estam suas tabelas no db???

Compartilhar este post


Link para o post
Compartilhar em outros sites
	<%
str = " SELECT * FROM Informatica, Informatica_x_Candidato Where Informatica.infCodigo = Informatica_x_Candidato.infCodigo ORDER BY infNome "
Set rs = Conexao.Execute(str)
	While Not rs.EOF
	%>
<input type="checkbox" name="infNome<%=F%>" value="<%=rs("infNome")%>" <% If rs("canCodigo") = 82 Then %> checked <% End If %>> <%=rs("infNome")%>
	<select name="infCandNivel<%=F%>" id="infCandNivel" class="list">
	<option value="1" <% If rs("infCandNivel") = 1 Then %> selected <% End If %>>Básico</option>
	<option value="2" <% If rs("infCandNivel") = 2 Then %> selected <% End If %>>Intermediário</option>
	<option value="3" <% If rs("infCandNivel") = 3 Then %> selected <% End If %>>Avançado</option>
  </select> <br>
<%
	  rs.MoveNext 
	Wend
%>

Testa com essa alteração. Fiz a junção em uma única SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo não, só apareceram os cursos que estão gravados no registro do candidato, além deles preciso de todos os outros para que o candidato possa editar seu curriculo, escolhendo mais cursos.

 

Minha tabela Informatica possui esses cursos:

Access

Excel

Internet

Power Point

Word

Windows

 

 

E o select passado no exemplo só lista os cursos da tabela: Informatica_x_Candidato

Access

Internet

Windows

 

 

Faltaram esses cursos:

Excel

Power Point

Word

 

 

Resumindo: Preciso mostrar todos os cursos da tabela Informatica, e deixar checado (usando checkbox) os cursos do candidato, e com o nivel (usando list/menu) selecionado.

 

Ex:

*Access

Excel

*Internet

Power Point

Word

*Windows

 

Os que estão marcados com (*) são os escolhidos pelo candidato, e qdo ele for atualizar seu curriculo precisa ver todos os cursos e os que ele escolheu.

 

 

Será que ainda está confuso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque isso

str = " SELECT * FROM Informatica, Informatica_x_Candidato Where Informatica.infCodigo = Informatica_x_Candidato.infCodigo ORDER BY infNome "

Por isso

str = " SELECT * FROM Informatica left join informatica_x_candidato on  Informatica.infCodigo = Informatica_x_Candidato.infCodigo ORDER BY infNome "

Eu alterei para utilizar a expressão "Left Join", desta forma aparecerão todos os registros da tabela "Informatica" e os da tabela Informatica_X_Candidato, apenas os selecionados.

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.