![]() |
Fuente |
Según los lea los irá guardando en un array (o variable que contiene una lista de datos) y así los tendremos disponibles para mostrarlos con una segunda función (mostrarCITAS). Además desde esta segunda daremos el formato básico a esos datos.
Función para leer datos
Esta sería la primera parte del código:
frase = new Array();
autor = new Array();
totalfrases = 0;
function leerCITAS(json) {
totalfrases = json.feed.entry.length;
for(i=0; itotalfrases; i++) {
frase[i] = json.feed.entry[i].gsx$citas.$t;
autor[i] = json.feed.entry[i].gsx$autores.$t;
}
}
...
Explicando un poco lo que hace el código anterior, línea a línea:
- Preparar matriz para que se puedan guardar frases
- Preparar matriz para que se puedan guardar autores
- Inicializar contador para el total de frases
- Comienzo función leerCITAS, que recibirá un dato en forma de dirección feed (json)
- Asignamos a totalfrases el valor correspondiente a la longitud del feed recibido (cuántos datos hay)
- Comienzo bucle para repetir tarea desde el primer dato hasta el último
- Asignamos al primer elemento de la matriz frase[i] (y sucesivos) el primer elemento que encontramos en la columna citas
- Asignamos al primer elemento de la matriz autor[i] (y sucesivos) el primer elemento que encontramos en la columna autores
- Fin del bucle
- Fin de la función
Función para escribir datos
Ya tenemos los datos en memoria y ahora lo que necesitamos es otra función que los muestre. La llamaremosmostrarCITAS. Aquí simplemente iremos añadiendo a una variable (salida) los datos obtenidos, formateándolos con HTML simple. Así luego podremos mostrarlos dentro de unaID cuyo nombre se corresponde con el dato que recibe la función (donde). Previamente y en este ejemplo, hemos hecho una selección aleatoria de qué fila de datos vamos a mostrar.
Conviene incluir clases para después poder cambiar el aspecto final de los dos elementos (frase, autor) con CSS y eso es lo que veis también a continuación.
function mostrarCITAS(donde) {
var salida = "";
var max = totalfrases-1;
var alea = Math.round(Math.random()*max);
var cual = alea;
salida += "span class='frase'";
salida += frase[cual];
salida += "br/";
salida += "span class='autor'"+autor[cual]+"/span";
salida += "/span'";
document.getElementById(donde).innerHTML = salida;
}
/script
- Comienzo función mostrarCITAS, que recibirá un dato en forma de ID que llamamos donde
- Inicializar salida, que contendrá lo que devolverá la función
- Asignamos a max el valor que antes obtuvimos en totalfrases y le restamos 1 para cuadrar lo siguiente
- Asignamos a alea un valor aleatorio entre 0 y 1 y lo multiplicamos por max para conseguir una fila al azar de entre las disponibles
- Añadimos a salida una apertura span con clase frase para formatear el bloque completo
- Añadimos a salida la frase escogida al azar
- Añadimos a salida un salto de línea
- Añadimos a salida el autor correspondiente a la frase, metido entre etiquetas span y con clase autor
- Añadimos a salida el cierre del primer span que abrimos
- Obtenemos el contenido del elemento con la ID recibida en la función y lo sustituimos por todo lo que hemos ido incorporando en salida
- Fin de la función
Variantes
En este ejemplo hemos mostrado dos celdas de una misma fila aleatoriamente, pero una vez que las tenemos todas cargadas, sería fácil mostrar cualquiera.
Otra posibilidad sería leer sólo el dato que nos interesa y de hecho, si en el anterior código primero corriéramos la rutina que genera el número aleatorio y luego leyéramos sólo ese dato, estas funciones serían más eficientes. Supongo que me disculpáis sabiendo que se trata sólo de un ejemplo ilustrativo.
También se me ocurre que tras cargar todo podríamos usar un condicional para ir buscando por una columna un dato concreto. Por ejemplo podría ser un autor y así poder ver todas las frases que coincidan con ese autor.
En fin, la realidad es que podemos leer de esta manera todo lo que queramos y luego, con esta segunda parte del script, ya configuraríamos de manera personal qué es lo que se quiere mostrar y cómo.
Leer con JSON y ejecutar scripts
Así que ya tenemos toda la infraestructura. Hemos construido nuestra hoja de cálculo con sus datos y un script que sirve para leer y escribir lo que hay en ella. Sin embargo, todavía no veremos nada en nuestra página.
Para casi terminar, allí dónde queremos que se vean los datos colocamos la llamada a esas funciones y undiv con unaID para que se inserte allí el contenido de la base de datos seleccionado. El orden será este: llamada aleerCITAS,div conID y ejecución demostrarCITAS para sustituir.
La llamada es a la dirección de la hoja de cálculo en formato lista (list) pero en lugar de usar la dirección original que termina enbasic, usamos esta otra que termina envalues (dirección completa marcada en verde). Ahi es dónde pedimos los datos usando la antes creadaleerCITAS mediante el parámetrocallback.
/script
div id="frasesaleatorias"
/div
script type="text/javascript"
mostrarCITAS('frasesaleatorias');
/script
Como se ha dicho y se ve arriba, después viene un div sin contenido con una id (frasesaleatorias) y por último la llamada a la función que mostraba una frase y un autor al azar, formateaba la salida y luego incluía el resultado dentro de esediv. Evidentemente, el nombre de suID tiene que coincidir con la que enviamos mediantemostrarCITAS.
Dar estilo con CSS
Ya sólo nos quedará asignar estilo CSS a las clases utilizadas en el script; en este ejemplo, .frases y.autor.
Como estamos sólo mostrando frases, poca cosa podemos hacer aparte de cambiar fuentes, colores y bordes, así que aquí termina esto y para ver todo el código junto, os remitimos a la última parte de esta serie.
- Google Docs como base de datos. Preparar hoja de cálculo
- Google Docs como base de datos. Leer y mostrar con JavaScript
- Google Docs como base de datos. Frases informáticas aleatorias
Online casino DONATE A CAR IN MARYLAND Health Records Personal Health Record structured annuity settlement WordPress hosting Make money online Australia REGISTER FREE DOMAINS PHD on Counseling Education Futuristic Architecture Car insurance quotes MN LIFE INSURANCE CO LINCOLN Adobe illustrator classes Proud Italian cook donate old cars to charity miami personal injury attorney Donate Cars Illinois workplace accident attorney Donate Your Car Sacramento mesothelioma attorney directory adverse remortgage Donate Your Car for Kids uk homeowner loans mesothelioma attorney illinois motorcycle lawyer los angeles Hire php developer dui lawyer scottsdale Motor Replacements dallas mesothelioma attorneys Seo services Virtual Data Rooms donate car for tax credit Casino Casino reviews donate your car for money philadelphia mesothelioma lawyer Online Criminal Justice Degree offshore accident lawyer Learning adobe illustrator Hire php programmers benchmark lending Mobile casino structured settlement sell Donating a Car in Maryland Webex Costs Criminal defense lawyer AUTO ACCIDENT ATTORNEY asbestos mesothelioma lawsuit Mortgage Forex Trading Platform Paperport Promotional Code Donate your car for kids Car Insurance in South Dakota HOW TO DONATE A CAR IN CALIFORNIA miami personal injury lawyer Donate a Car in Maryland ashely madis Donate Car for Tax Credit Online Stock Trading Best Seo company ONLINE MOTOR INSURANCE QUOTES Live casino Car insurance quotes Colorado DUI lawyer Nunavut Culture Best Criminal Lawyers in Arizona World Trade Center Footage mesothelioma personal injury lawyers structured settlement cash out mesothelioma help Seo companies business email web hosting virtual data rooms accident car florida lawyer caraccidentlawyer structured settlement blog Personal Injury Lawyers CHEAP CAR INSURANCE FOR LADIES Photo Christmas cards Hire php developers auto insurance cost by state paperport promotional code Best social media platforms Dedicated Hosting Dedicated Server Hosting Dwi lawyer Criminal lawyer Service business software Cheap Auto Insurance in VA Business finance group Php programmers for hire Life Insurance Co Lincoln Car Insurance Quotes Colorado Custom Christmas cards Html email lease management software CAR INSURANCE QUOTES UTAH massage school dallas texas Custom WordPress theme designer DONATE YOUR CAR FOR KIDS Bankruptcy lawyer Donate old cars to charity Social media examiner Computer science classes online Home Phone Internet Bundle ASBESTOS LAWYERS Php programmers Automobile Accident Attorney Best social media platforms for business Cheap auto insurance in VA DONATE CAR FOR TAX CREDIT structured settlement brokers New social media platforms cell cycle regulation ppt Social media platforms for business california law lemon Auto Mobile Shipping Quote Forensics Online Course mesothelioma attorney workers compensation lawyer los angeles Business management software Asbestos Lung Cancer Seo company Online Christmas cards Injury Lawyers Car Insurance Quotes PA injury attorney baton rouge federal criminal defense attorney Dayton Freight Lines WordPress themes for designers Psd to WordPress Asbestos Lawyers How to donate a car in California motorcycle accident lawyer california Social media management Tech school domain yahoo hair removal washington dc auto accident lawyer san francisco mesothelioma care Mesothelioma Law Firm donate your car for kids Social media platforms Cheap Car Insurance in Virginia Christmas cards PAPERPORT PROMOTIONAL CODE Psd to html Holland Michigan College BEST CRIMINAL LAWYER IN ARIZONA Italian cooking school WordPress theme designers broward county dui lawyer Social media tools Register free domains Social media strategies baltimore mesothelioma attorneys buying an annuity calculator Social media campaigns Donate Car to Charity California yahoo web hosting Car Insurance Quotes MN home phone internet bundle Psychic for Free mesothelioma drug Register Free Domains Online Classes DONATING A CAR IN MARYLAND Car Accident Lawyers Donate Cars in MA Cheap Car Insurance for Ladies How to Donate A Car in California Sell Annuity Payment selling a structured settlement HARDDRIVE DATA RECOVERY SERVICES Structures Annuity Settlement utah mesothelioma lawyer los angeles motorcycle accident lawyer Annuity Settlements royalty free images stock georgia truck accident lawyer business voice mail service structured settlement investments VIRTUAL DATA ROOMS la personal injury lawyer data recovery raid structured settlements annuities asbestos exposure lawyers Hard drive Data Recovery Services MORTGAGE ADVISER DAYTON FREIGHT LINES World trade center footage Dallas mesothelioma attorneys florida car insurance company illinois law lemon business voip solutions accident attorney in los angeles Cheap Domain Registration Hosting bus accident attorney los angeles STRUCTURED ANNUITY SETTLEMENT Royalty Free Images Stock asbestos lawyers mesothelioma attorneys Criminal Defense Attorneys Florida average mesothelioma settlement WEBEX COSTS Business VOIP Solutions CHEAP AUTO INSURANCE IN VA Car Insurance Quotes Utah mesothelioma attorney california Online Motor Insurance Quotes Online classes DONATE YOUR CAR FOR MONEY