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

Mostrar LINK

Estas en el tema de Mostrar LINK en el foro de ASP Clásico en Foros del Web. Hola a todos. Como puedo hacer para que por ejemplo mi variable Var tenga N valores (1,5,10,15) por decir algunos numeros y se cumpla la ...
  #1 (permalink)  
Antiguo 23/09/2004, 14:06
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Mostrar LINK

Hola a todos.

Como puedo hacer para que por ejemplo mi variable Var tenga N valores (1,5,10,15) por decir algunos numeros y se cumpla la condicon dentro del If de habilitar el link cuando la variable i y var sean iguales.
Ahorita en el codigo siguiente solo lo puedo hacer cuando Var = 3 como puedo hacerlo para N numero aleatorios.

<%

Var = 3

for i =1 to 10
if i = Var THEN
Response.Write " <a href='Detalle.asp'>"& i & "</a>"
end if
response.write " "&i
next
%>

Gracias.
__________________
Hasta la victoria Siempre.

Última edición por Cuezaltzin; 23/09/2004 a las 14:10
  #2 (permalink)  
Antiguo 23/09/2004, 14:25
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Lo puedes hacer mediante un arreglo (arrVar) entonces que compares lo que tenga i con arrVar(i)

Ahora lo que tienes que ver es cuidar cuantas veces iterará tu ciclo de acuerdo al valor máximo de i, y buscar dentro del arreglo esos números, pero también tendríamos que ver, como es que le asignas el valor maximo y como te llegan los datos de los valores que pueden tener los índices de dicho arreglo.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 23/09/2004, 14:50
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Mas o menos asi es tu idea

ArrVar = Array(1,8,25,14)

rrVar = Array(5,1,8,9,10)
__________________
Hasta la victoria Siempre.
  #4 (permalink)  
Antiguo 23/09/2004, 14:57
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Bueno, por qué no nos platicas un poco mas que es lo que quieres hacer, como te llegan los datos y vemos como resolverlo

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 23/09/2004, 15:07
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias U_Goldman por tu ayuda.

Lo que tengo es un for que imprime de 1 hasta 900 lo que hago es una consulta a mi base de datos y saco los valores del campo Var los cuales pueden ser N (5,56,12,1,23,etc). y lo que intento hacer es que dentro del for que imprime del 1 hasta el 900 me habilite la opcion de link en los numero 5,56,12,1,23 y en los demas solo me imprima el numero.
__________________
Hasta la victoria Siempre.
  #6 (permalink)  
Antiguo 23/09/2004, 15:43
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98

Bueno...pues si que es medio compleja la solución por el número de iteraciones que puede hacer ese ciclo, si son 900 y supongamos que tienes 10 números a buscar, estarías iterando 900 X 10 = 9000 veces

No se me ocurre nada de momento mas que la solución original...tienes ya un string separado por ","(1,5,25,8,45) que representa a los números que buscarás...

entonces

arrVar = split(cadena, ",")

Código:
For i = 1 to 900
  For j=0 to uBound(arrVar)
    lo_encontre = false
    If i = arrVar(j) Then
      lo_encontre = true
      Exit For
    End If
  Next
  If lo_encontre Then
   'Imprimes el link
  Else
   'Imprimes el no.
  End If
Next
Demasiadas iteraciones... :-p

A ver si a alguien se le ocurre algo más

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 23/09/2004 a las 15:46
  #7 (permalink)  
Antiguo 23/09/2004, 15:52
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Pues ni amí se me ocurre otra forma de verificar y es que es a la de afuerzas de otra forma no creo.

Un saludo.
  #8 (permalink)  
Antiguo 24/09/2004, 09:28
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
cielos, si "ni a él" se le ocurre otra forma, ha de significar que es imposible .

Cuezaltzin, ¿que no habíamos ya encontrado la solución a este problema en otro post?, ¿cuál es la diferencia con respecto al otro?

Cita:
Lo que tengo es un for que imprime de 1 hasta 900 lo que hago es una consulta a mi base de datos y saco los valores del campo Var los cuales pueden ser N (5,56,12,1,23,etc). y lo que intento hacer es que dentro del for que imprime del 1 hasta el 900 me habilite la opcion de link en los numero 5,56,12,1,23 y en los demas solo me imprima el numero.
  #9 (permalink)  
Antiguo 24/09/2004, 09:40
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
GRACIAS POR SU PACIENCIA Y AYUDA.

Puse el siguiente codigo pero solo me imprime del 1 al 900 de la opcion del LINK nada no aparece cual es el problema.

<%

cadena="5,1,8,9,10"

arrVar = split(cadena, ",")

For i = 1 to 900
For j=0 to uBound(arrVar)
lo_encontre = false
If i = arrVar(j) Then
lo_encontre = true
Exit For
End If
Next
If lo_encontre Then
Response.Write "<a href=""Detalle.asp"">" &i& "</a>"
Else
Response.write " "&i
End If
Next

%>

Y con respecto a la pregunta de Myakire lo que pasa es que con tu codigo imprimia el link pero por posiciones y lo que quiero es que si hay un 5 ponga el link en el 5 no me importa la posicion solo que si 5=5 o 999=999
__________________
Hasta la victoria Siempre.
  #10 (permalink)  
Antiguo 24/09/2004, 10:41
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Solamente es que estábamos comparando un string con un entero, con un cast se soluciona el asunto:

en negritas los cambios...

Código:
<%
cadena="5,1,8,9,10"
arrVar = split(cadena, ",")

For i = 1 to 900
	lo_encontre = false
	For j=0 to uBound(arrVar)
		If i = cint(arrVar(j)) Then
			lo_encontre = true
			Exit For
		End If
	Next
	If lo_encontre Then
		Response.Write "<a href=""Detalle.asp"">" &i& "</a>"
	Else
		Response.write " "&i
	End If
Next

%>

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 24/09/2004 a las 10:43
  #11 (permalink)  
Antiguo 24/09/2004, 11:08
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Fantastica Solucion U_goldman Gracias. Solo Una Ultima Pregunta Como Puedeo Asignarle A La Variable Cadena Los "n" Resultados De Mi Base De Datos.

Mil Gracias.
__________________
Hasta la victoria Siempre.
  #12 (permalink)  
Antiguo 24/09/2004, 11:13
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Código:
cadena = ""
'Llenamos la variable cadena con los valores del rs, separamos cada 
'elemento con una ","
While not rs.EOF
  cadena = cadena & rs("campo") & ","
  rs.MoveNext
Wend
'como al final va a tener una coma, necesitamos quitársela para no poner 
'un índice más en blanco al momento de hacer el split:
If cadena <> "" Then
  cadena = left(cadena, len(cadena) - 1)
End If
A ver si eso te funciona.


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #13 (permalink)  
Antiguo 24/09/2004, 11:42
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Eres Un Pistola U_goldman. Gracias Por Tu ComprensiÓn, Ayuda.
Tal Como Lo Escribiste Sin Ningun Error.
Mil Gracias.
__________________
Hasta la victoria Siempre.
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 21:06.