Primero qué nada, Quiero decirles, qué sí quieres aprender, mucho sobre sitios webs, posicionamiento, y esas cosas.. podes seguir mis actualizaciónes con un solo clic! @xMasterUserx YAAA +4200 Se Unieron a mis aportes, solo faltas tú qué estás leyendo! @xMasterUserx Agradecimientos a @kuruzka , y @credulidad por todo el apoyo qué demuestra en el proyecto! Seleccionar columnas particulares Si no deseamos ver los registros completos de una tabla, entonces tenemos que usar los nombres de las columnas en las que estamos interesados separándolas por coma. Por ejemplo, si deseamos conocer la fecha de nacimiento de nuestras mascotas, debemos seleccionar la columna "nombre" y "nacimiento": mysql> SELECT nombre, nacimiento FROM mascotas; +--------+------------+ | nombre | nacimiento | +--------+------------+ | Fluffy | 1999-02-04 | | Mau | 1998-03-17 | | Buffy | 1999-05-13 | | FanFan | 2000-08-27 | | Kaiser | 1989-08-31 | | Chispa | 1998-09-11 | | Wicho | 2000-02-09 | | Skim | 2001-04-29 | | Pelusa | 2000-03-30 | +--------+------------+ 9 rows in set (0.00 sec) Para conocer quién tiene alguna mascota, usaremos la siguiente consulta: mysql> SELECT propietario FROM mascotas; +-------------+ | propietario | +-------------+ | Arnoldo | | Juan | | Arnoldo | | Benito | | Diana | | Omar | | Tomás | | Benito | | Diana | +-------------+ 9 rows in set (0.00 sec) Sin embargo, debemos notar que la consulta recupera el nombre del propietario de cada mascota, y algunos de ellos aparecen más de una vez. Para minimizar la salida, agregaremos la palabra clave DISTINCT: mysql> SELECT DISTINCT propietario FROM mascotas; +-------------+ | propietario | +-------------+ | Arnoldo | | Juan | | Benito | | Diana | | Omar | | Tomás | +-------------+ 6 rows in set (0.03 sec) Se puede usar también una claúsula WHERE para combinar selección de filas con selección de columnas. Por ejemplo, para obtener la fecha de nacimiento de los perritos y los gatitos, usaremos la siguiente consulta: mysql> SELECT nombre, especie, nacimiento FROM mascotas -> WHERE especie = "perro" OR especie = "gato"; +--------+---------+------------+ | nombre | especie | nacimiento | +--------+---------+------------+ | Fluffy | Gato | 1999-02-04 | | Mau | Gato | 1998-03-17 | | Buffy | Perro | 1999-05-13 | | FanFan | Perro | 2000-08-27 | | Kaiser | Perro | 1989-08-31 | +--------+---------+------------+ 5 rows in set (0.00 sec) Ordenar registros Se debe notar en los ejemplos anteriores que las filas regresadas son mostradas sin ningún orden en particular. Sin embargo, frecuentemente es más fácil examinar la salida de una consulta cuando las filas son ordenadas en alguna forma útil. Para ordenar los resultados, tenemos que usar una cláusula ORDER BY. Aquí aparecen algunos datos ordenados por fecha de nacimiento: mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY nacimiento; +--------+------------+ | nombre | nacimiento | +--------+------------+ | Kaiser | 1989-08-31 | | Mau | 1998-03-17 | | Chispa | 1998-09-11 | | Fluffy | 1999-02-04 | | Buffy | 1999-05-13 | | Wicho | 2000-02-09 | | Pelusa | 2000-03-30 | | FanFan | 2000-08-27 | | Skim | 2001-04-29 | +--------+------------+ 9 rows in set (0.00 sec) En las columnas de tipo caracter, el ordenamiento es ejecutado normalmente de forma no sensitiva, es decir, no hay diferencia entre mayúsculas y minúsculas. Sin embargo, se puede forzar un ordenamiento sensitivo al usar el operador BINARY. Para ordenar en orden inverso, debemos agregar la palabra clave DESC al nombre de la columna que estamos usando en el ordenamiento: mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY -> nacimiento DESC; +--------+------------+ | nombre | nacimiento | +--------+------------+ | Skim | 2001-04-29 | | FanFan | 2000-08-27 | | Pelusa | 2000-03-30 | | Wicho | 2000-02-09 | | Buffy | 1999-05-13 | | Fluffy | 1999-02-04 | | Chispa | 1998-09-11 | | Mau | 1998-03-17 | | Kaiser | 1989-08-31 | +--------+------------+ 9 rows in set (0.00 sec) Podemos ordenar múltiples columnas. Por ejemplo, para ordenar por tipo de animal, y poner al inicio los animalitos más pequeños de edad, usaremos la siguiente consulta: mysql> SELECT nombre, especie, nacimiento FROM mascotas -> ORDER BY especie, nacimiento DESC; +--------+-----------+------------+ | nombre | especie | nacimiento | +--------+-----------+------------+ | Wicho | Ave | 2000-02-09 | | Chispa | Ave | 1998-09-11 | | Fluffy | Gato | 1999-02-04 | | Mau | Gato | 1998-03-17 | | Pelusa | Hamster | 2000-03-30 | | FanFan | Perro | 2000-08-27 | | Buffy | Perro | 1999-05-13 | | Kaiser | Perro | 1989-08-31 | | Skim | Serpiente | 2001-04-29 | +--------+-----------+------------+ 9 rows in set (0.00 sec) Notar que la palabra clave DESC aplica sólo a la columna nombrada que le precede. Conceptos básicos Todos los que hasta ahora hayan seguido el curso de HTML, se habrán dado cuenta de una cosa: crear un documento HTML es crear algo de caracter estático, inmutable con el paso del tiempo. La página se carga, y ahí termina la historia. Tenemos ante nosotros la información que buscábamos, pero no podemos INTERACTUAR con ella. Así pues, como solución a este problema, nace JavaScript. ¿Y qué es JavaScript? Se trata de un lenguaje de tipo script compacto, basado en objetos y guiado por eventos diseñado específicamente para el desarrollo de aplicaciones cliente-servidor dentro del ámbito de Internet. Los programas JavaScript van incrustados en los documentos HMTL, y se encargan de realizar acciones en el cliente, como pueden ser pedir datos, confirmaciones, mostrar mensajes, crear animaciones, comprobar campos... Versiones El programa que va a interpretar los programas JavaScript es el propio navegador, lo que significa que si el nuestro no soporta JavaScript, no podremos ejecutar las funciones que programemos. Desde luego, Netscape y Explorer lo soportan, el primero desde la versión 2 y el segundo desde la versión 3. Navegador Version de JavaScript Soporte ECMA Nestcape 2 Javascript 1.0 -- Internet Explorer 2 No soporta JavaScript -- Nestcape 3 Javascript 1.1 -- Internet Explorer 3 Javascript 1.0 -- Nestcape 4 Javascript 1.2 - 1.3 incompleta ECMA-262-compliant hasta la version 4.5 Internet Explorer 4 Javascript 1.2 ECMA-262-compliant Nestcape 6 ECMA compliant Javascript 1.4 Full ECMAScript-262 Internet Explorer 5 ECMA compliant Javascript 1.3 Full ECMAScript-262 Las diferentes versiones de JavaScript han sido finalmente integradas en un estándar denominado ECMAScript-262. Dicho estándar ha sido realizado por la organización ECMA dedicada a la estandarización de información y sistemas de comunicación. Las versiones actuales de los navegadores soportan este estándar, así que basaremos el curso sobre él. Dónde y cómo incluir JavaScript Existen distintos modos de incluir lenguaje JavaScript en una página. La forma mas frecuente de hacerlo es utilizando la directiva El archivo externo simplemente es un archivo del texto que contiene código JavaScript, y cuyo nombre acaba con la extensión js. Puede incluirse también código JavaScript como respuesta a algún evento: Nota: Los scripts pueden incluirse como comentarios para asegurar que su código no es "visto" por navegadores viejos que no reconocen JavaScript y así evitar errores. Gramática Si conoce algún otro lenguaje de programación ya estará familiarizado con el uso de variables, operadores, declaraciones... Lo que se resume en la tabla siguiente son los elementos principales de la gramática de JavaScript. Cada uno de los elementos se verá en detalle a lo largo del manual. Nota importante: JavaScript es sensible a mayúsculas y minúsculas, todos los elementos de JavaScript deben referenciarse cómo se definieron, no es lo mismo "Salto" que "salto". Variables Etiquetas que se refieren a un valor cambiante. Operadores Pueden usarse para calcular o comparar valores. Ejemplo: pueden sumarse dos valores, pueden compararse dos valores... Expresiones Cualquier combinación de variables, operadores, y declaraciones que evalúan a algún resultado. Ejemplo: intTotal=100; intTotal > 100 Sentencias Una sentencia puede incluir cualquier elemento de la grámatica de JavaScript. Las sentencias de JavaScript pueden tomar la forma de condicional, bucle, o manipulaciones del objeto. La forma correcta para separarlas es por punto y coma, esto sólo es obligatorio si las declaraciones múltiples residen en la misma línea. Aunque es recomedable que se acostumbre a terminar cada instrucción con un punto y coma, se ahorrará problemas. Objetos Estructura "contenedora" de valores, procedimientos y funciones, cada valor refleja una propiedad individual de ese objeto. Funciones y Métodos Una función de JavaScript es bastante similar a un" procedimiento" o" subprograma" en otro lenguaje de programación. Una función es un conjunto que realizan alguna acción. Puede aceptar los valores entrantes (los parámetros), y puede devolver un valor saliente. Un método simplemente es una función contenida en un objeto. Variables Las variables almacenan y recuperan datos, también conocidos como "valores". Una variable puede referirse a un valor que cambia o se cambia. Las variables son referenciadas por su nombre, y el nombre que les es asignado debe ser conforme a ciertas reglas (debe empezar con una letra o ("_"; los carácteres siguientes pueden ser números (0-9), letras mayúsculas o letras minúsculas). Ejemplos de definiciones erróneas: var Mi Variable, 123Probando, $Variable, for, while; Ejemplos de definiciones correctas: var _Una_Variable, P123robando, _123, mi_carrooo; Por supuesto, podemos inicializar una variable al declararla: var Una_Variable="Esta Cadenita de texto"; Las variables en JavaScript pueden ser de alcance global o local. Una variable global es accesible desde cualquier