Ir para conteúdo

POWERED BY:

Arquivado

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

formalivre

problemas com menu de lista

Recommended Posts

olá pessoal.

estou tentando fazer um menu de lista.

só que infelizmente só estou conseguindo puxar do banco de dados o último valor inserido.

será que é um problema com meu código. segue abaixo:

 

<form name="nome_form" action="teste.asp?Categoria=<% = numCat %>" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option value="<% = rsNRegistros("numclassific") %>"><% = Cat %></option><option selected>Selecione</option></select></form>

obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa fazer um loop pra pegar todos registros do seu BD de acordo com sua string SQLalgo mais ou menos assim:<select name="select"><%while not rs.eofresponse.write "<option value="& id &">"& texto &"</option>"rs.movenextwend%></select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá ultra. obrigado pela ajuda.eu não estou conseguindo adaptar isto ao meu código. para ver se ajuda vou postar todo o código com o SQL.

<!--#Include file="conexao.asp"--><%Response.Expires = 0Dim conexao, strCat, rsCat, numCat, Cat, strNRegistros, rsNRegistrosstrCat = "SELECT * "strCat = strCat & "FROM categorias "strCat = strCat & "ORDER BY categoria asc"Set rsCat = conexao.Execute(strCat)Do While Not rsCat.EofnumCat = rsCat.Fields("idcat")Cat = rsCat.Fields("Categoria")strNRegistros = "SELECT COUNT(idcat) AS numclassific FROM noticias "strNRegistros = strNRegistros & "WHERE noticias.idcat=" & numCat & " "Set rsNRegistros = conexao.Execute(strNRegistros)%><span class="style1"><a href="teste.asp?Categoria=<% = numCat %>"> <% = Cat %> ( <% = rsNRegistros("numclassific") %>)</a><span class="style1">     <%rsCat.MoveNextLoop%></span>

no código acima o resultado está sendo mostrado um ao lado do outro e preciso que seja em um menu de lista.obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste pedaço do seu código:

 

Do While Not rsCat.EofnumCat = rsCat.Fields("idcat")Cat = rsCat.Fields("Categoria")

altere para

 

Do While Not rsCat.EofnumCat = rsCat.Fields("idcat")Cat = rsCat.Fields("Categoria")Option = Option & "<option value='"& numCat &"'>"& Cat &"</option>"

e no fim do seu código, acrescente (fora das tags <% e %>):

 

<form name="nome_form" action="teste.asp?Categoria=<% = numCat %>" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option selected>Selecione</option><%= Option %></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi Ultra. apareceu o seguinte erro:Microsoft VBScript compilation error '800a0400' Expected statement /jm/anuncios_aclimacao/mostra1.asp, line 13 Option = Option & "<option value='"& numCat &"'>"& Cat &"</option>"^

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certeza, ele está pedindo pra setar a variavel Option(palavra reservada de Option Explicit), substitua a mesma por outro nome que vai rolar

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá. mudeia tudo para selecao e agora não está mostrando nadaDo While Not rsCat.EofnumCat = rsCat.Fields("idcat")Cat = rsCat.Fields("Categoria")selecao = selecao & "<selecao value='"& numCat &"'>"& Cat &"</selecao>"<form name="nome_form" action="teste.asp?Categoria=<% = numCat %>" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><selecao selected>Selecione</selecao><%= selecao %></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não não........ ! você precisa mudar apenas o nome da variável, não as tags

 

fica:

Do While Not rsCat.EofnumCat = rsCat.Fields("idcat")Cat = rsCat.Fields("Categoria")selecao = selecao & "<option value='"& numCat &"'>"& Cat &"</option>"

e:

<form name="nome_form" action="teste.asp?Categoria=<% = numCat %>" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option selected>Selecione</option><%= selecao %></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu que briga com esse menu... achei que estava tudo certo. o problema agora é que ele mostra todos os valores das categorias mas só está linkando a categoria nº 4 em todas as categorias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim pra nós vermos qual é o erro:roda a página ASP e manda exibir o código fonte (pelo browser)Escreve aqui o conteúdo que aparece em HTML, desde o <select...> até o </span>

Compartilhar este post


Link para o post
Compartilhar em outros sites

só está acessando o "id 4":<form name="nome_form" action="teste.asp?Categoria=Websites" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option selected>Selecione</option><option value='14'>Cabeleireiro</option><option value='7'>Chocolateria</option><option value='12'>Dentista</option><option value='19'>Drogaria</option><option value='9'>Estética</option><option value='18'>Farmácia de Manipulação</option><option value='16'>Informática</option><option value='13'>Livraria</option><option value='17'>Óptica</option><option value='11'>Papelaria</option><option value='8'>Pisos e Persianas</option><option value='15'>Produtos de beleza</option><option value='4'>Websites</option></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

no request.form você trocou a variavel?antes tera option, agora é selecao, acho que você esté enviando o parametro errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

está como você mostrou:<%Response.Expires = 0Dim conexao, strCat, rsCat, numCat, Cat, strNRegistros, rsNRegistrosstrCat = "SELECT * "strCat = strCat & "FROM categorias "strCat = strCat & "ORDER BY categoria asc"Set rsCat = conexao.Execute(strCat)Do While Not rsCat.EofnumCat = rsCat.Fields("idcat")Cat = rsCat.Fields("Categoria")selecao = selecao & "<option value='"& numCat &"'>"& Cat &"</option>"strNRegistros = "SELECT COUNT(idcat) AS numclassific FROM noticias "strNRegistros = strNRegistros & "WHERE noticias.idcat=" & numCat & " "Set rsNRegistros = conexao.Execute(strNRegistros)%><%rsCat.MoveNextLoop%><form name="nome_form" action="teste.asp?Categoria=<% = numCat %>" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option selected>Selecione</option><%= selecao %></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não nao... quero ver o código HTML já gerado....sabe quando você clica numa página ASP com botao direito, e ve o codigo fonte.... posta ai o resultado =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;}a:link { color: #666666; text-decoration: none;}a:visited { text-decoration: none; color: #666666;}a:hover { text-decoration: underline; color: #666666;}a:active { text-decoration: none; color: #666666;}.style2 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FF6600; font-weight: bold;}--></style><form name="nome_form" action="teste.asp?Categoria=4" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option selected>Selecione</option><option value='14'>Cabeleireiro</option><option value='7'>Chocolateria</option><option value='12'>Dentista</option><option value='19'>Drogaria</option><option value='9'>Estética</option><option value='18'>Farmácia de Manipulação</option><option value='16'>Informática</option><option value='13'>Livraria</option><option value='17'>Óptica</option><option value='11'>Papelaria</option><option value='8'>Pisos e Persianas</option><option value='15'>Produtos de beleza</option><option value='4'>Websites</option></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa linha:<form name="nome_form" action="teste.asp?Categoria=<% = numCat %>" method="post">tira o conteudo de action, deixa assim:action="teste.asp"não há necessidade desse categoria= , pois você pode pegar o conteudo dele pelo request.form("strValor")

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora está dizendo que o banco de dados está vazio:<form name="nome_form" action="teste.asp?Categoria=4" method="post"><select name="strValor" OnChange="document.nome_form.submit()"><option selected>Selecione</option><option value='14'>Cabeleireiro</option><option value='7'>Chocolateria</option><option value='12'>Dentista</option><option value='19'>Drogaria</option><option value='9'>Estética</option><option value='18'>Farmácia de Manipulação</option><option value='16'>Informática</option><option value='13'>Livraria</option><option value='17'>Óptica</option><option value='11'>Papelaria</option><option value='8'>Pisos e Persianas</option><option value='15'>Produtos de beleza</option><option value='4'>Websites</option></select></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente o que o ultra comentou e mais um detalhe, na página teste.asp é que você recupera o valor enviado do formulário desta forma

 

<%valor = request.form("strValor")response.write(valor)%>

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.