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

como mostrar en un do while un alias en vez del valor de un campo

Estas en el tema de como mostrar en un do while un alias en vez del valor de un campo en el foro de ASP Clásico en Foros del Web. Hola amigos como puedo hacer para que en este Do While Código: <% If Not rs.Eof Then Do While Not rs.Eof %> <tr> <td width="2%" ...
  #1 (permalink)  
Antiguo 14/05/2005, 21:23
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
como mostrar en un do while un alias en vez del valor de un campo

Hola amigos como puedo hacer para que en este Do While
Código:
	<%
	If Not rs.Eof Then
	Do While Not rs.Eof 
	%>
	 <tr>
		<td width="2%" bgcolor="#EFEFEF"><input type="radio" name="id" value="<% = rs("id_producto") %>"></td>
		<td width="8%" bgcolor="#EFEFEF"><% = rs("categoria") %></td>
		<td width="22%" bgcolor="#EFEFEF"><% = rs("imagen") %></td>
		<td width="22%" bgcolor="#EFEFEF"><% = rs("marca") %></td>
		<td width="22%" bgcolor="#EFEFEF"><% = rs("modelo") %></td>
		<td width="22%" bgcolor="#EFEFEF"><% = rs("descripcion") %></td>
		<td width="10%" bgcolor="#EFEFEF"><% = rs("precio") %></td>
	 </tr>
	 <% 
	 rs.MoveNext 
	 Loop
	else
	 %>
en vez de aparecer el valor de rs("categoria") salga un "ALIAS" de este... por ejemplo si tengo que en la tabla productos el campo categoria tine datos numericos... lo que quiero es que en vez de que aparezcan esos datos numericos aparezcan los nombres de las categorias que estan en otra tabla de mi base de datos (categorias).... Bueno espero que se entienda... si no haganmelo saber... bueno gracias de antemano y saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #2 (permalink)  
Antiguo 14/05/2005, 22:47
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 19 años, 1 mes
Puntos: 2
cuando crees la consulta usa algo como esto

select categoria as alias,* from [nombre de la tabla];
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
  #3 (permalink)  
Antiguo 14/05/2005, 23:33
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
Hola Hager... eso si lo se... pero mira voy a poner todo lo necesario para entender al 100% lo que quiero:

BD
Tabla categorias:
id_categoria (autonumerico)
nombre_categoria (texto)
total_productos (numerico)

Tabla productos:
id_producto (autonumerico)
categoria (numerico)
imagen (texto)
marca (texto)
modelo (texto)
descripcion (texto)
precio (numerico)

lo que yo quiero es que al desplegar la tabla productos en vez de que aparezca los numeros correspondientes al id de la categoria salga el nombre de la categoria.... no se si se entiende mejor ahora.... bueno gracias de todas formas y saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #4 (permalink)  
Antiguo 15/05/2005, 00:55
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 19 años, 1 mes
Puntos: 2
Viejo... el problema que usted tiene esta en la normalizacion de la bd
relacione
select * from productos,categorias where productos.categoria=categorias.id_categoria

y simplemente rs("nombre_categoria")

tenga en cuenta que para evitar errores normalize

Tabla categorias:
id_categoria (autonumerico) primary key,
nombre_categoria (texto),
total_productos (numerico),

Tabla productos:
id_producto (autonumerico),
categoria (numerico) not null,
imagen (texto),
marca (texto),
modelo (texto),
descripcion (texto),
precio (numerico),
foreing key(categoria ) references categorias(id_categoria)

bueno la idea es esa
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
  #5 (permalink)  
Antiguo 15/05/2005, 04:57
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Aupa Metallick,
La normalización de las tablas es perfecta. Lo que ha propuesto Hager, para ASP, es una redundancia. creo que con esto te valdrá. La consulta SQL así:

SELECT categorias.nombre_categoria as nombre, productos.*
FROM categorias INNER JOIN productos ON categorias.id_categoria = productos.categoria


y después

<td width="8%" bgcolor="#EFEFEF"><% = rs("nombre") %></td>

Salud!!
  #6 (permalink)  
Antiguo 15/05/2005, 23:46
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 19 años, 1 mes
Puntos: 2
Mmmm no se
a mi parecer las dos cosas estan bien , en lo que yo propuse hay integridad referencial y evita errores (en cuestion de usuario ya que muchas veces es ingrato! y me ha pasado por eso opte trabajar en este estilo evitando errores al insertar datos) y lo de la consulta, en vista de que la tabla categorias es corta se podria usar para mostrar al usuario un poco mas de informacion o hacer una consulta personalizada aprovechando que es en cuestion de carga de datos viable

aunque no estoy en desacuerdo con trasgukabi ya que para mi las dos formas son validas siempre i cuando los datos no sean grandes(me refiero a canticad de campos sumados de las tablas)
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
  #7 (permalink)  
Antiguo 16/05/2005, 00:32
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
no se el metodo de trasgukabi me funciono de maravilla... el tuyo amigo en relidad no lo probe por cuestion de tiempo... modificar la BD y too es una joda mas o menos pero probablemente el resultado sea el mismo.... en todo cas se agradece la ayuda brindada... saludos y gracias
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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:40.