Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continúa navegando, consideramos que acepta su uso.
Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios. Puede cambiar la configuración u obtener más información aquí

Aceptar

Google

tunait.com » Tutorial » Listas dependientes


Listas dependientes desde base de datos con ASP y Access (I)

Una de las preguntas más frecuentes que recibo es cómo se puede configurar el script de Listas dependientes desde una base de datos, es decir, las líneas de configuración dependerán de los datos obtenidos de una base de datos y por lo tanto no se escriben a mano.

El tema es muy ambiguo porque todo dependerá de cómo se tengan estructurados esos datos en la base de datos. Igual he creado un caso hipotético con una determinada estructura en una base de datos para ilustrar el asunto de cómo se podría escribir en el servidor ese código Javascript necesario para las listas dependientes.

El ejemplo es para el script de listas dependientes desde una base de datos Access y usando ASP en el servidor.

Crearemos listas dependientes para mostrar categorías, subcategorías y productos (los mismos que están en el script Javascript).

NOTA: Se asume que se está familiarizado con los lenguajes ASP, VBScript y SQL. La intención de este tutorial es la de explicar los pasos y el fin con el que se dan para llegar a determinado resultado sin detenerse a explicar lo que es cada función o sentencia utilizados en estos lenguajes.

Partimos de la base de que tenemos nuestros datos dentro de 2 tablas en una base de datos.

Una tabla para almacenar categorías y subcategorías y una segunda tabla para almacenar los productos.

Tabla de categorías

Consta, en principio, de 3 campos (obviamente puede tener más campos pero para el script con estos 3 campos es suficiente para lo que necesitamos)

id_categoria
nombre_categoria
id_categoria_padre

id_categoria
será un campo autonumérico.
nombre_categoria
será un campo de tipo texto que guardará el nombre de la categoría o subcategoría
id_categoria_padre
será un campo numérico entero que guardará el valor del campo id_categoria de la categoría a donde pertenezca una subcategoría. Si la categoría que se almacena no es subcategoría de otra categoría el valor que almacenará (valor predeterminado) será el 0.
"CREATE TABLE categorias_productos (id_categoria AUTOINCREMENT PRIMARY KEY, nombre_categoria TEXT(255), id_categoria_padre INTEGER default 0)"

Tabla de productos

La tabla para productos tendrá (al menos) estos tres campos necesarios para que configurar el script.

id_producto
nombre_producto
id_categoria

id_producto
será un campo autonumérico
nombre_producto
será un campo de tipo texto que guarda el nombre del producto
id_categoria
será un campo de tipo numérico entero que almacena el id_categoria de la categoría a la cual pertenece el producto.
"CREATE TABLE productos2 (id_producto AUTOINCREMENT PRIMARY KEY, nombre_producto TEXT(255), id_categoria INTEGER)"

En la sección head de nuestro documento colocaremos las dos funciones Javascript necesarias:


<script type="text/javascript">
/************************************************
 Listas dependientes por Tunait!(5/1/04)
 Si quieres usar este script en tu sitio
 eres libre de hacerlo con la condición
 de que permanezcan intactas estas líneas,
 osea, los créditos.
 No autorizo a publicar y ofrecer el código
 en sitios de script sin previa autorización
 Si quieres publicarlo, por favor, contacta conmigo.
 http://javascript.tunait.com/
 tunait@yahoo.com
*************************************************/
<!--
function slctr(texto,valor){
   this.texto = texto
   this.valor = valor
}
function slctryole(cual,donde){
   if(cual.selectedIndex != 0){
      donde.length=0
      cual = eval(cual.value)
      for(m=0;m<cual.length;m++){
         var nuevaOpcion = new Option(cual[m].texto);
         donde.options[m] = nuevaOpcion;
         if(cual[m].valor != null){
            donde.options[m].value = cual[m].valor
         }
         else{
            donde.options[m].value = cual[m].texto
         }
      }
   }
}

Listas dependientes con ASP y Access (II) - Generando el código


Copyright © 2006 www.tunait.com todos los derechos reservados