Foros del Web » Programando para Internet » ASP Clásico »

Recoger en una vble un dato de un FORM para consulta a BBDD

Estas en el tema de Recoger en una vble un dato de un FORM para consulta a BBDD en el foro de ASP Clásico en Foros del Web. Estimado amigos, Tengo que hacer una apli que muestre en una tabla unos datos de un BD. Hasta ahora si la consulta era sin condicionantes ...
  #1 (permalink)  
Antiguo 12/04/2007, 05:57
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 18 años, 1 mes
Puntos: 0
Recoger en una vble un dato de un FORM para consulta a BBDD

Estimado amigos,

Tengo que hacer una apli que muestre en una tabla unos datos de un BD.

Hasta ahora si la consulta era sin condicionantes funciona:


Código HTML:
<%cnombre=request.form("nombre") 
set cn=createobject("ADODB.Connection") 
cn.ConnectionString = "Provider=sqloledb;Data Source=IUMAS1SQL;Initial Catalog=s1s2copiadia;User Id=personaliui;Password=personaliui123" 
cn.open 

set rs=createobject("ADODB.Recordset") 
sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI ORDER BY nombre" 
rs.open sqltxt, cn%> 
Pero he metido un FORM con un SELECT para que me muestre un combo:

Código HTML:
<select> 
<option value="90066">Planta HALL</option> 
<option value="90066">Planta 1A</option> 
<option value="90026">Planta 1B</option> 
</select> 
Y no se recoger en una vble. el valor seleccionado para pasarlo (Button) con un WHERE al select:

sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta="xxxxxxxxx""

Si alguien me puede ayudar le estaría muy agradecido.

U saludo
  #2 (permalink)  
Antiguo 12/04/2007, 06:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 190
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Recoger en una vble un dato de un FORM para consulta a BBDD

Hola Josealh;

Página en la que esta el combo, no tiene porque ser asp puede ser .html a no ser que los tipos de plantas los cargues de una BD:

Código:
<form name="Plantas" action="resultado.asp" method="post">
<select name="cmbTiposPlantas">
  <option value="90066">Planta HALL</option> 
  <option value="90066">Planta 1A</option> 
   <option value="90026">Planta 1B</option> 
</select>
<input name="Enviar" type="submit">
</form>
Luego otra página que es la que recibe los datos resultado.asp
Código:
<%dim cn,rs,strTipoPlanta

'en la variable strTipoPlanta recuperas lo que se haya elegido en el combo mediante request.form
strTipoPlanta=request.form("cmbTiposPlantas")
set cn=createobject("ADODB.Connection") 
cn.ConnectionString = "Provider=sqloledb;Data Source=IUMAS1SQL;Initial Catalog=s1s2copiadia;User Id=personaliui;Password=personaliui123" 
cn.open 

set rs=createobject("ADODB.Recordset") 
sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta=" + TipoPlanta + "  ORDER BY nombre" 
rs.open sqltxt, cn%>
Si el campo planta es numerico:
sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta=" + strTipoPlanta + " ORDER BY nombre"

Si el campo planta es texto:
sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta='" + strTipoPlanta + "' ORDER BY nombre"


Espero que te sirva.
Saludos.
__________________
Huevos fritos con jamon, te los comes cuando quieras pero folla siempre con condón.
  #3 (permalink)  
Antiguo 12/04/2007, 08:00
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Recoger en una vble un dato de un FORM para consulta a BBDD

Hola LinosINK,

Esto va bien y me ha servido porque ya sé como declarar la vble. y pasarla por parámetro a la consulta. La vble. es tipo string. Pero no muestra nada en pantalla.

Decirte que el combo está en el asp al igual que el form y el resultado ha de mostrarlo en el mismo asp. Pego el código y comento una cosa:

Código HTML:
<form method="POST" action="impresoras.asp" name="Plantas">
<table width="35%">
<tr><td>
 <div class="newsEncabezado">
 <table border="0" width="100%" align="center" bgcolor="#E0D577">
 <tr>
   <th width="100%" valign="middle" align="left" bgcolor="#E0D577">
   Seleccione Planta:
   <select name="cmbTiposPlantas">
    <option value="90066">HALL</option>
    <option value="90066">1A</option>
    <option value="90026">1B</option>
   </select>
   <input type="submit" VALUE="Buscar"></th>
 </tr>
 </table></div>
</td></tr>	
</table>
</form>

<%dim cn,rs,strTipoPlanta
'en la variable strTipoPlanta recuperas lo que se haya elegido en el combo mediante request.form
strTipoPlanta=request.form("cmbTiposPlantas")
set cn=createobject("ADODB.Connection") 
cn.ConnectionString = "Provider=sqloledb;Data Source=IUMAS1SQL;Initial Catalog=s1s2copiadia;User Id=personaliui;Password=personaliui123" 
cn.open 

set rs=createobject("ADODB.Recordset") 
sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta='" + strTipoPlanta + "' ORDER BY nombre" 
rs.open sqltxt, cn%>

<%if rs.eof then%>

<!--<h3 align="center">
<!--<font color="#FF0000">No hay datos que coincidan con su petición </font></h3>-->

<%else%>

<div class="newsDatos">
<table border="0" width="100%" align="center" bgcolor="#E5F0F2">
<tr><td>
<%do while not rs.eof%>
<div class="DivTabla">
<table border="0" width="100%"  align="center">
 <tr>
  <td width="15%" valign="middle" align="left" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("planta")%></font></td>
  <td width="21%" valign="middle" align="left" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("nombre")%></font></td>
  <td width="22%" valign="middle" align="left" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("medio")%></font></td>
  <td width="6%" valign="middle" align="center" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("modelo")%></font></td>
  <td width="9%" valign="middle" align="center" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("observaciones")%></font></td>
 </tr>
</table></div>

<%rs.movenext
loop
rs.close
end if%> 
Es fácil de enteder ya que se divide en tres partes:

*- Crear combo
*- Hacer consulta
*- Mostrar los datos

Si te fijas hay una línea comentada:

Código HTML:
<%if rs.eof then%>
 <!--<h3 align="center">
 <!--<font color="#FF0000">No hay datos que coincidan con su petición    </font></h3>-->
<%else%> 
Pues si la pongo, la ejecuta. Parece que pasa por todas las líneas del código, pero al utilizar el combo y seleccionar un planta debería hacerlo. Al comentarla y no leerla al ejecutarse no muestra nada, pero si selecciono en el combo y doy buscar sigue igual.

Y si en la línea del select le quito el where y lo dejo como al inicio salen todas, por lo que la consulta a la BD la hace. No me importa que salgan todas pues sería otra forma de ver las que hay y si te interesa alguna, utilizar el combo.

Espero no haber sido muy plasta. Gracias por todo.

Última edición por josealh; 12/04/2007 a las 08:18
  #4 (permalink)  
Antiguo 12/04/2007, 08:31
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Recoger en una vble un dato de un FORM para consulta a BBDD

Hola,

Ya está HECHO.

Eran dos cositas:

*- En el código que me pusiste:

sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta=" + TipoPlanta + " ORDER BY nombre"

la vble la llamaste TipoPlanta y la habías definido como strTipoTabla. Lo que hace copiar/pegar.

*- La otra, que en:

Código HTML:
 <option value="HALL">HALL</option>
   <option value="1A">1A</option>
   <option value="1B">1B</option> 
en el campo value yo tenía uno nº que era el que pasaba por parámetro y yo quería la planta q así es como está en la BD.

Ya funciona. Gracias. Has sido muy útil. Ahora tengo que seleccionar un .GIF de la planta, en función de la que seleccione e insertarla después de mostrar los datos de la BD. Voy a intentarlo y si no me sale pondré otro post aunque he de suponer que ya habrá alguno por ahí.

Un saludo
  #5 (permalink)  
Antiguo 12/04/2007, 08:52
 
Fecha de Ingreso: diciembre-2004
Mensajes: 190
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Recoger en una vble un dato de un FORM para consulta a BBDD

un pequeño error el nombre de la variable, es lo que pasa por copiar y pegar jejeje.

En cuanto a la imagen, en este post se comento como hacerlo mediante un campo tipo OLE en la base de datos.
http://www.forosdelweb.com/showthrea...nsertar+imagen

suerte, saludos.
__________________
Huevos fritos con jamon, te los comes cuando quieras pero folla siempre con condón.
  #6 (permalink)  
Antiguo 13/04/2007, 01:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Recoger en una vble un dato de un FORM para consulta a BBDD

Gracia por el vínculo de las imágenes, pero yo lo que quiero es que fuese leyendo de una carpeta y lo he hecho así y FUNCIONA:

Código HTML:
<%file = "c:\inetpub\wwwroot\intranet\impresoras\img\" & strTipoPlanta & ".jpg"

IF fso.FileExists(file) Then%>
  <table border="0" width="100%"  align="center"  bgcolor="#E5F0F2"><tr>
  <td><center> <img src="img\<%=trim(strTipoPlanta)%>.jpg" border="1"> </center></td>
<%else%>
  <br><td><center><font size="3"><b><u>Imagen de planta no  disponible</u></b></font></center></td>
<%end if%> 
Utilizo la misma variable del aparatado anterior donde recogía la planta y le añado el .jpg para su búsqueda.

Pues eso, que gracias por todo.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:31.