Anda di halaman 1dari 3

Acceder a MySQL desde Javascript

Programacin
Dec

282010

Voy a publicar aqu una librera javascript que ando utilizando en mis pginas para acceder a MySQL, con muy buenos resultados. Consta de dos ficheros:

mysqlws.php: Contiene la parte del servidor. mysqlwslib.js: Contiene la librera javascript propiamente dicha.

Siento desilusionar a los que esperasen javascript puro, sin php, pero ah no llego. Instalacin:Descargar el paquete y descomprimirlo para obtener los fuentes del fichero mysqlws.php y mysqlwslib.js. Copiar ambos ficheros en el mismo servidor que tengamos mysql instalado. Por defecto el paquete supone que el directorio donde instalemos mysqlws.php tiene un subdirectorio js donde reside la librera mysqlwslib.js. Configuracin:Seguir las instrucciones que se encuentran en las cabeceras de los ficheros y que se resumen en dar los valores de nuestra instalacin a la variables $host, $user, $pw, $db en el fichero php. Adems habr que indicar al fichero js donde est el fichero php fijando el valor de la variable urlMysqlwsphp. Con esto termina la instalacin. Para poder utilizar la librera desde nuestras pginas web habr que poner un enlace en el fichero html:

<script src="miruta/mysqlwslib.js"></script>

A partir de ese momento disponemos de las siguientes funciones:


mysql_use(nombre_basedatos) : Selecciona la base de datos sobre la que se realizaran las siguientes consultas. mysql_select_query(query) : Realiza una consulta tipo SELECT y devuelve un Array con el resultado. Hay que tener en cuenta que devuelve un Array de dos dimensiones, por lo que si el resultado es una sola fila estar en el indice [0] del resultado. Veamos un ejemplo:

var arrayResult = mysql_select_query ("SELECT * FROM mitabla"); for (i=0; i< arrayResult.length i++) { var fila = arrayResult[i];

var columna = arrayResult[i][0]; }

mysql_update_query(query) : Realiza una consulta del tipo UPDATE, INSERT, DELETE u otras. Devuelve un nmero entero correspondiente al nmero de filas afectadas por la ltima operacin. Si el nmero es -1 se ha producido un error. Un cero en una operacin INSERT o UPDATE normalmente indicar un error. Ejemplo de insercin de un registro:

var n = mysql_update_query("INSERT INTO mitabla VALUES (null, 'Pepito', 'Ruiz')");

if (n[0] != 1) { alert("Error"); }

mysql_col_names( tablename): Devuelve un array con los nombres de las columnas de la tabla indicada.

Adems de estas funciones que son las dedicadas al acceso a mysql, he dejado en la librera otras funciones que tambin utilizo en casi todos mis programas:

$(elementId) : Devuelve el elemento DOM correspondiente al id pasado. setElementContent(element, content): Sustituye a la pareja de sentencias :

element = document.getElementById(element); element.innerHTML = content;

En el caso de la funcin se puede pasar el id del elemento buscado o una referencia al elemento propiamente dicho.

getDocHeight(): Devuelve la altura del documento.

setElementHeight(element, height): Ajusta la altura del elemneto indicado. El elemento se puede especificar por su id o por una referencia al elemento getElementHeight(element): Devuelve la altura del elemento DOM indicado getWindowHeight(): Devuelve la altura de pantalla disponible getWindowWidth(): Devuelve la anchura de pantalla. getTamanoVentana(): Devuelve un Array [ancho, alto] de la ventana. createTableFromArray( arrayDatos, arrayCabeceras): Devuelve una cadena <table>...</table> con los datos de un array organizados en filas y columnas para aadir al elemento <div> que queramos y que nos muestre una tabla con los datso del array. El array con las cabeceras es opcional y se puede conseguir con la funcin 'mysql_col_names()'.

parseFechaUTC(cadFecha, cadHora): Devuelve un objeto javascript Date a partir de unas cadenas fecha y hora en formato mysql. La fecha y hora se supone que son UTC. Ejemplo:

var dt = parseFechaUTC("2010-12-22", "12:30:00");

getCadFechaUTCFromJSDate( date): Devuelve una cadena en la forma "aaaa-mmdd" con la fecha UTC correspondiente al objeto Date 'date' getCadHoraUTCFromJSDate( date): Devuelve una cadena en la forma "hh-mm-ss" con la hora UTC correspondiente al objeto Date 'date' intToString(numero, digitos): Devuelve una cadena con un entero ajustado al numero de digitos indicado, rellenando ceros por delante. Por ejemplo "01"

Espero que os sea de utilidad. Agradezco comentarios y bugs encontrados. mysqlws.tar mysqlws.zip

Anda mungkin juga menyukai