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

Ayuda con variable y mysql

Estas en el tema de Ayuda con variable y mysql en el foro de ASP Clásico en Foros del Web. Tengo la siguiente duda tengo el siguiente codigo que muestra toda la informacion de unas maquinas que estan disponibles. Cuando se selecciona los checkbox este ...
  #1 (permalink)  
Antiguo 08/09/2010, 12:05
 
Fecha de Ingreso: agosto-2010
Mensajes: 31
Antigüedad: 13 años, 8 meses
Puntos: 0
Ayuda con variable y mysql

Tengo la siguiente duda tengo el siguiente codigo que muestra toda la informacion de unas maquinas que estan disponibles. Cuando se selecciona los checkbox este guarda los valores en una variable y despues los muestra.

La pregunta es ¿ Como puedo realizar una consulta para traer la informacion de las maquinas desde la base de datos con los datos que se guardan en la variable?

Código asp:
Ver original
  1. <%@LANGUAGE="VBSCRIPT"%>
  2. <!--#include virtual="/Connections/Conecciones.asp" -->
  3. <%
  4. Dim Maquinas
  5. Dim Maquinas_cmd
  6. Dim Maquinas_numRows
  7.  
  8. Set Maquinas_cmd = Server.CreateObject ("ADODB.Command")
  9. Maquinas_cmd.ActiveConnection = MM_Conecciones_STRING
  10. Maquinas_cmd.CommandText = "SELECT * FROM maquinas"
  11. Maquinas_cmd.Prepared = true
  12.  
  13. Set Maquinas = Maquinas_cmd.Execute
  14. Maquinas_numRows = 0
  15. %>
  16. <%
  17. Dim Repeat1__numRows
  18. Dim Repeat1__index
  19. Repeat1__numRows = -1
  20. Repeat1__index = 0
  21. Maquinas_numRows = Maquinas_numRows + Repeat1__numRows
  22. %>
  23. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  24. <html xmlns="http://www.w3.org/1999/xhtml">
  25. <head>
  26. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  27. <title>Ingreso Maquinas al Ssitema</title>
  28. </head>
  29. <body>
  30. <table width="200" border="0" align="center" class="readMore">
  31.   <tr class="HeaderCentro">
  32.     <td><!--#include file="header.asp" --></td>
  33.   </tr>
  34. </table>
  35. <tr></td>
  36. </tr>
  37. <table width="585" border="0" align="center" class="rightTxt1">
  38. <tr bgcolor="#FFFFFF">
  39.   <td width="579" height="235" class="readMore"><form id="form1" name="form1" method="post" action="carro_vendedores.asp">
  40.     <table width="427" border="0">
  41.       <tr>
  42.         <td width="47">ID</td>
  43.         <td width="72">Serie</td>
  44.         <td width="74">Tipo Maquina</td>
  45.         <td width="36">&nbsp;</td>
  46.         <td width="37">&nbsp;</td>
  47.       </tr>
  48.       <%
  49. While ((Repeat1__numRows <> 0) AND (NOT Maquinas.EOF))
  50. %>
  51.   <tr>
  52.     <td><input name="maquina" type="checkbox" id="maquina" value="<%=(Maquinas.Fields.Item("serie_maquina").Value)%>">
  53.       <label for="maquina"></label></td>
  54.     <td><%=(Maquinas.Fields.Item("serie_maquina").Value)%></td>
  55.     <td><%=(Maquinas.Fields.Item("tipo_maquina").Value)%></td>
  56.     <td>&nbsp;</td>
  57.     <td>&nbsp;</td>
  58.   </tr>
  59.   <%
  60.   Repeat1__index=Repeat1__index+1
  61.   Repeat1__numRows=Repeat1__numRows-1
  62.   Maquinas.MoveNext()
  63. Wend
  64. %>
  65.  
  66.  
  67.     </table>
  68.     <p>&nbsp;</p>
  69.     <p>&nbsp;</p>
  70.     <p>
  71.       <input type="submit" name="enviar" id="enviar" value="Seleccionar Maquinas" />
  72.   </p>
  73. </form>
  74.     <table width="545" border="0" align="center">
  75.       <tr class="Centrar">
  76.         <td width="114">Serie Maquina</td>
  77.         <td width="75">Condicion Maquina</td>
  78.         <td width="204">Tipo Maquina</td>
  79.         <td width="103">Tipo Botellon</td>
  80.         <td width="27">&nbsp;</td>
  81.       </tr>
  82.       <tr>
  83.         <td><%
  84.      Dim mode,mode_a,i
  85.      mode=Request("maquina")
  86.       mode_a=split(mode,",")
  87.       For Each item In mode_a
  88.     Response.Write(item & "<br />")
  89. Next
  90.  
  91.  %></td>
  92.         <td>&nbsp;</td>
  93.         <td>&nbsp;</td>
  94.         <td>&nbsp;</td>
  95.         <td>&nbsp;</td>
  96.         </tr>
  97.     </table>
  98.     <p>&nbsp;</p>
  99.     <p>&nbsp;</p></td>
  100. </tr>
  101. </table>
  102. <p class="Centrar">
  103.  
  104. </p>
  105. </body>
  106. </html>
  107. <%
  108. Maquinas.Close()
  109. Set Maquinas = Nothing
  110. %>

Gracias
  #2 (permalink)  
Antiguo 08/09/2010, 13:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con variable y mysql

Hola

Sería algo así
Código ASP:
Ver original
  1. Dim Arr()
  2. for each campo in Request.Form
  3. valCampos = valCampos & Request.Form(campo)
  4. next
  5.  
  6. division = Split(valCampos, ",")
  7.  
  8. for i = 0 to UBound(division)
  9. redim preserve Arr(i+1)
  10. Arr(i) = division(i)
  11. next
  12.  
  13. Select campo FROM tabla WHERE campo = " & Join(Arr, " or campo = ")
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 09/09/2010, 09:10
 
Fecha de Ingreso: agosto-2010
Mensajes: 31
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con variable y mysql

Gracias pero , aun no puedo realizar la consulta, ya guarde los valores en el arreglo pero no se como realizar la consulta tengo esto:


Código asp:
Ver original
  1. <&#37;
  2.                
  3. Set prueba = Server.CreateObject ("ADODB.Command")
  4. prueba.ActiveConnection = MM_Conecciones_STRING
  5. prueba.CommandText = "Select * FROM maquina WHERE serie_maquina =?"
  6. prueba.Prepared = true
  7. prueba.Parameters.Append prueba.CreateParameter("param1", 202, 1, 50, )
  8.     prueba.Execute
  9.     prueba.ActiveConnection.Close
  10.  %>

Asi se guardan los datos

Código asp:
Ver original
  1. <% Dim Arr()
  2. for each maquina in Request.Form("maquina")
  3. valCampos = Request.Form("maquina")
  4. next
  5. division = Split(valCampos, ",")
  6. for i = 0 to UBound(division)
  7. redim preserve Arr(i+1)
  8. Arr(i) = division(i)
  9. next
  10. %>
  #4 (permalink)  
Antiguo 09/09/2010, 12:40
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con variable y mysql

Hola

Esto no es lo que te he indicado
Cita:
for each maquina in Request.Form("maquina")
valCampos = Request.Form("maquina")
next
Sino
Cita:
for each maquina in Request.Form
valCampos = valCampos & Request.Form(maquina)
next
Para hacer la consulta, usa la función Join() como te indiqué anteriormente

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 09/09/2010, 14:02
 
Fecha de Ingreso: agosto-2010
Mensajes: 31
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con variable y mysql

Cita:
Iniciado por Adler Ver Mensaje
Hola

Esto no es lo que te he indicado
Sino
Para hacer la consulta, usa la función Join() como te indiqué anteriormente

Suerte
Gracias por la ayuda , utilizo esta forma:

Código:
for each maquina in Request.Form
valCampos = Request.Form(maquina)
next
porque con la otra forma me duplica los valores de los campos, pero de todas formas los guarda.

Pero sigo teniendo problema con la consulta:

Código:
   strSQL = "SELECT * from maquinas where serie_maquina = ('" & join(Arr)& "')"
cuando guardo un valor me muestra los datos , pero cuando son 2 no muesta los datos. Hice una prueba he imprimi los valores del arreglo y me di cuenta que los esta guardando pero el sql no puede leerlos. No se si me explico.

Salu2
  #6 (permalink)  
Antiguo 09/09/2010, 15:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con variable y mysql

Hola

La manera de hacerlo sería
Cita:
strSQL = "SELECT * from maquinas where serie_maquina = " & Join(Arr, " or serie_maquina = ")"
aunque parece mas conveniente usar el operador IN

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: mysql, variables
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 03:54.