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

Combo e imput


hudsonalves

Pergunta

Preciso de um help:

Tenho uma tabela com os campos TYPE_ID, TYPE_NAME e TYPE_IMAGE

Quero selecionar um item através do combo a coluna TYPE_NAME e trazer o dado da mesma linha na coluna TYPE_IMAGE através de um imput, eu até consegui sem o While, mas o código só trouxe a primeira linha. Já com o While consigo selecionar o combo, mas o Input não muda fica estático

<!--#include file="../Connections/conn.asp" -->
<%
set rsDatas = Server.CreateObject("ADODB.Recordset")
rsDatas.ActiveConnection = MM_conn_STRING
rsDatas.Source = "SELECT *  FROM TYPES WHERE TYPE_ID ORDER BY TYPE_DATED"
rsDatas.CursorType = 0
rsDatas.CursorLocation = 2
rsDatas.LockType = 3
rsDatas.Open()
rsDatas_numRows = 0
%>
<table class="table">
<thead>
<tr>
<th><a href="<%=tfm_orderbyURL%>TYPE_ID">ID</a></th>
<th><a href="<%=tfm_orderbyURL%>TYPE_NAME">NOME</a></th>                                        
</tr>
</thead>
<tbody>
<tr>
<td>
<select name="NOME" type="text" class="input-text" size="1">                 
<%
While (NOT rsDatas.EOF)
%>
<option value="<%=(rsDatas.Fields.Item("TYPE_ID").Value)%>"><%=(rsDatas.Fields.Item("TYPE_NAME").Value)%></option>
<%
  rsDatas.MoveNext()
Wend
If (rsDatas.CursorType > 0) Then
  rsDatas.MoveFirst
Else
  rsDatas.Requery
End If
%> 
</select>
</td>
<td><%=(rsDatas.Fields.Item("TYPE_IMAGE").Value)%></td>
</tr>
</tbody>
</table>
<%
rsDatas.Close()
%>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

cara.. de boa.. estude sql..
c tem que fazer 2 consultas ao banco de dados:
a 1ª só monta o combo... n tem "where".
q 2ª preenche o combo c/ a variavel selecionada no combo..
ai q tem o "where"..
ex: select dados from tabela where id=1;
esse "1" substitua pela variavel selecionada no combo..
dicas: vao ser 2 recordsets, 2 forms... p/ atualizar o input use 1 if submit.. bem + simples..
se quiser, a logica ta aqui:
(SEM banco de dados):

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>teste combo input</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label>
<select name="combo1" id="combo1">
  <option value="1">John</option>
  <option value="2">Paul</option>
  <option value="3">George</option>
  <option value="4">Ringo</option>
</select>
</label>
&nbsp;&nbsp;
  <label>
  <input type="submit" name="Submit" value="Submit" />
  </label>
</form>

<p>

<%
dim selecionado
selecionado=Request.form("combo1")

If (Request.Form("submit") <> "") Then

%>
</p>
<form id="form2" name="form2" method="post" action="">
vc selecionou:

  <label>
  <input name="textfield" type="text" value="<%response.write selecionado%>" size="14" />
  </label>
</form>

<%
End If
%>

</body>
</html>

tem misterio não... tenta ahe..

Editado por Marcelo_2
Link para o comentário
Compartilhar em outros sites

  • 0

Marcelo_2, obrigado pelas dicas. Ultimamente tenho estudado SQL, mas ainda estou na fase de aprendizado.

Bem, segui teu escopo para montar mas parei no combo (embora tenha funcionado com o submit) na questão do combo coloquei o valor que eu quero que apareça no input, mas tem um problema: O valor que eu selecionar no combo, será usado para gravar no BD também, desta forma não posso colocar o valor do combo pegando a coluna que quero lançar no input, ambos precisam ser independentes. Não posso usar um botão para preencher pois no momento em que gravar o input estará oculto.

<!--#include file="../Connections/conn.asp" -->
<%
set rsCombo= Server.CreateObject("ADODB.Recordset")
rsCombo.ActiveConnection = MM_conn_STRING
rsCombo.Source = "SELECT * FROM TYPES ORDER BY TYPE_DATED"
rsCombo.CursorType = 0
rsCombo.CursorLocation = 2
rsCombo.LockType = 3
rsCombo.Open()
rsCombo_numRows = 0
%>

<%
set rsInput= Server.CreateObject("ADODB.Recordset")
rsInput.ActiveConnection = MM_conn_STRING
rsInput.Source = "SELECT * FROM TYPES WHERE TYPE_IMAGE ORDER BY TYPE_DATED"
rsInput.CursorType = 0
rsInput.CursorLocation = 2
rsInput.LockType = 3
rsInput.Open()
rsInput_numRows = 0
%>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>teste combo input</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>
<select name="combo1" id="combo1">
<%
While not rsCombo.EOF
%>
<option value="<%=(rsCombo.Fields.Item("TYPE_IMAGE").Value)%>"><%=(rsCombo.Fields.Item("TYPE_NAME").Value)%></option>
<%
rsCombo.MoveNext()
Wend
If (rsCombo.CursorType > 0) Then
rsCombo.MoveFirst
Else
rsCombo.Requery
End If
%> 
</select>
</label>
<%
rsCombo.Close()
%>
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
</form>

<p>
<%
dim selecionado
selecionado=Request.form("combo1")
If (Request.Form("submit") <> "") Then
%>
</p>
<form id="form2" name="form2" method="post" action="">
vc selecionou:

<label>
<input name="textfield" type="text" value="<%response.write selecionado%>" size="14" />
</label>
</form>

<%
End If
%>

</body>
</html>
Link para o comentário
Compartilhar em outros sites

  • 0

Estou tentando, estou fazendo assim:

<!--#include file="../Connections/conn.asp" -->
<%
varCombo=request.querystring("TYPE_NAME") 


set rsCombo= Server.CreateObject("ADODB.Recordset")
rsCombo.ActiveConnection = MM_conn_STRING
rsCombo.Source = "SELECT * FROM TYPES ORDER BY TYPE_DATED"
rsCombo.CursorType = 0
rsCombo.CursorLocation = 2
rsCombo.LockType = 3
rsCombo.Open()
rsCombo_numRows = 0
%>


<%
set rsInput= Server.CreateObject("ADODB.Recordset")
rsInput.ActiveConnection = MM_conn_STRING
rsInput.Source = "SELECT * FROM TYPES WHERE TYPE_ID="&varCombo&" ORDER BY TYPE_DATED"
rsInput.CursorType = 0
rsInput.CursorLocation = 2
rsInput.LockType = 3
rsInput.Open()
rsInput_numRows = 0
%>
<table class="table">
<thead>
<tr>
<th><a href="<%=tfm_orderbyURL%>TYPE_ID">ID</a></th>
<th><a href="<%=tfm_orderbyURL%>TYPE_NAME">NOME</a></th>
</tr>
</thead>


<tbody>
<tr>
<td>


<select name="TYPE_NAME" type="text" class="input-text" size="1">
<%
While not rsCombo.EOF
%>
<option value="<%=(rsCombo.Fields.Item("TYPE_NAME").Value)%>"><%=(rsCombo.Fields.Item("TYPE_NAME").Value)%></option>
<%
rsCombo.MoveNext()
Wend
If (rsCombo.CursorType > 0) Then
rsCombo.MoveFirst
Else
rsCombo.Requery
End If
%>


</select>
</td>
<td><input name="TYPE_IMAGE" type="text" class="form" value="<%=(rsInput.Fields.Item("TYPE_IMAGE").Value)%>" size="60"></td>
</tr>
</tbody>
</table>
<%
rsCombo.Close()
%>
<%
rsInput.Close()
%>

Mas esta gerando erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14'

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'TYPE_ID='.

/monoclube/admin/inc_submiteditado2.asp, linha 22

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...