Trabajar con más de una base de datos
Nosotros generalmente usamos una clase propia encargada de gestionar las operaciones con la base de datos (conexión, ejecutar consultas, desconexion...).
Instanciamos el objeto para la gestión de la base de datos al principio de las páginas que necesitan conexión con la misma (es decir realizamos la conexión con la bbdd), y al final de la página cerramos la conexión de la misma.
Hay en ocasiones que un proyecto trabaja con más de una base de datos, por lo que será necesario hacer conexiones a esas bases de datos para la manipulación de la información. Pues bien, en las páginas que se necesite manipular información de las distintas bases de datos, instanciamos tantos objetos como base de datos se necesiten, y al final de la página cerramos todas las conexiones.
Yo pensaba que al tener objetos distintos para cada conexón sólo tenía que usar el objeto correspondiente para hacer las peticiones.
Pero no, es necesario que cada vez que se vaya a usar una base de datos distinta a la que estabas manipulando deberás actualizar la base de datos (@mysql_select_db). Yo lo hago mediante un método de la clase.
Un ejemplo
-
require("my_class.php");
-
/* En esta clase está el método refrescarTabla() que hace lo siguiente:*/
-
-
-
/* Inicio la conexion con la BBDD con la base de datos 1*/
-
$conexion_1 = new ConsultaMySql();
-
$conexion_1->conectar();
-
$conexion_1->actualizarDatos(IPSERVER_1,USERBBDD_1, PASSBBDD_1,NAMEBBDD_1);
-
-
/* Inicio la conexion con la base de datos 2*/
-
$conexion_2 = new ConsultaMySql();
-
$conexion_2->actualizarDatos(IPSERVER_2,USERBBDD_2, PASSBBDD_2,NAMEBBDD_2);
-
$conexion_2->conectar();
-
/* **********************************/
-
-
/* Una operacion con bbdd 1*/
-
$conexion_1->refrescarTabla();
-
$conexion_1->consulta = "SELECT * FROM tabla";
-
$conexion_1->ejecutar_consulta();
-
$resultado_1_bbdd1 = $conexion_1->result_array_asoc();
-
-
/* Una operacion con bbdd 2*/
-
$conexion_2->refrescarTabla();
-
$conexion_2->consulta = "SELECT * FROM tabla";
-
$conexion_2->ejecutar_consulta();
-
$resultado_1_bbdd2 = $conexion_2->result_array_asoc();
-
-
/* Otra operacion con bbdd 1*/
-
$conexion_1->refrescarTabla();
-
$conexion_1->consulta = "SELECT * FROM tabla";
-
$conexion_1->ejecutar_consulta();
-
$resultado_2_bbdd1 = $conexion_1->result_array_asoc();
-
/* Codigo para visualizar los resultados*/
-
-
-
/* Fin codigo*/
-
-
/* Cierro las conexiones*/
-
$conexion_1->cerrar_conexion();
-
$conexion_2->cerrar_conexion();
Pues nada más, espero que os sirva.
BUG en MySQL
Muy buenas a todos,
estando desarrollando un proyecto necesitaba insertar un registro en la base de datos, o en caso de que ya existiera, actualizar un campo de dicho registro.
Pues bien, a partir de la versión 4.1 se puede hacer en MySQL todo esto en una sóla sentencia:
INSERT ... ON DUPLICATE KEY UPDATE.
La verdad que no era la primera vez que utilizaba esta sentencia, es mucho más cómodo que hacer primero una consulta a la base de datos para comprobar de la existencia del registro, para que en caso de existir actualizarlo o en caso contrario realizar una inserción.
Pues bien, en este proyecto no me funcionaba.
Tras verificar que todo estaba bien implementado y seguía sin funcionar, opté por hacer el ejemplo más simple para ver si me funcionaba esta sentencia o no. Y no me funcionó. Entonces me preguntaba: ¿Qué diferencia puede haber con proyectos anteriores para que en éste no me funcionara?.
pues estaba en el tipo de tabla en la base de datos que estaba usando. En este caso tenía una tabla del tipo InnoDB y en los anteriores MyISAM.
Tras indagar obtuve la respuesta a mi problema:
"A partir de la versión 5.0.36 de MySQL INSERT ... ON DUPLICATE KEY UPDATE no funciona en tablas InnoDB (no da ningún error pero no hace el UPDATE, sólo el INSERT). Es un bug que tiene MySQL!!."
Os pongo el link por si quereis echarle un vistazo.
BUG INSERT ... ON DUPLICATE KEY UPDATE
Espero que a alguien le sirva!!!
Continuando con HTML5

Aquí os dejo la URL de un tutorial sacado de la web de smashing magazine de un desarrollo HTML5 y CSS3.
Describe paso a paso el desarrollo de una página en este nuevo lenguaje. Un buen ejemplo del uso de las nuevas etiquetas que incorpora este lenguaje, así como nuevas propiedades de CSS3.
Coding A HTML 5 Layout From Scratch
Al final del tutorial hay una relación de artículos muy interesantes relativos a HTML5 para seguir profundizando en el tema.
[Q] en el móvil!
![Versión móvil de la web de [Q] interactiva disponible Versión móvil de la web de [Q] interactiva disponible](http://www.q-interactiva.com/blog/imagenes/qmovil.jpg)
Pues si!, también hemos sacado la versión móvil ( http://m.q-interactiva.com )!
Estamos que lo bordamos, en el mismo mes hemos sacado a la luz la versión para el escritorio y también la versión para el móvil. Va a dar la sensación de que trabajamos y todo!
Ahora en serio, nosotros siempre hemos sido de la filosofía de que a causa de las limitaciones que tienen los dispositivos móviles, toda web debería tener una versión específica para ellos, y que además los contenidos de la misma deberían ser un filtrado de la información más importante de la web de escritorio.
Para predicar con el ejemplo hemos hecho la versión para móvil de la web actual. Entre otras cosas podemos destacar:
- Lenguaje XHTML Mobile Profile.
- Uso del Handset Detection para la detección de dispositivos móviles.
- Generación de las imágenes de los proyectos en función de la resolución de la pantalla del dispositivo.
- Métodos de detección de agente para determinar cuando una visita se produce desde un terminal móvil y cuando desde un equipo de sobremesa, para mostrar y redirigir al usuario a la versión adecuada
- Validación xhtml en mobiready obteniendo una puntación de 5 sobre 5.
- Optimización de la web mediante URLs semánticas o amigables para que sean más entendibles y fáciles de recordar para los usuarios.
Pues nada más, ya nos contareis que os parece.
Curso Completo Flash Lite en Castellano
En [Q] interactiva estamos de enhorabuena, y muy de enhorabuena, ya que podemos decir orgullosos que hemos participado de manera completa en la creación del primer curso completo sobre Flash Lite en castellano, colaborando con v2b, empresa puntera en videoformación en castellano.
Desde hace mucho tiempo la comunidad hispana demandaba un recurso de esta envergadura en castellano (lo sabemos bien por nuestra intensa actividad en Blocketpc), similar a algunas acciones que se han llevado a cabo en ingés, de la mano de Adobe. Por suerte v2b ha apostado por ello, y ahora ya tenemos documentación de referencia en este sentido, y además en formato de videotraining!
Marcos González, ha sido el encargado de crear un curso de cerca de X horas de duración, donde se hace un completo recorrido por todos los aspectos fundamentales para trabajar con tecnlogía Flash en el móvil. Desde una visión global del mundo del desarrollo móvil a la gestión de errores, uso de Device Central CS4 para el testeo, programación orientada a objetos en ActionScript 2, trabajo con datos, imágenes, sonido, video, sistemas de navegación, creación de screensavers avanzados, animación con tweens por AS... vamos, prácticamente un repaso total a los conceptos básicos para el trabajo con Flash Lite.
El resultado, gracias a la gran labor de v2b, creemos que es un curso merecedor de la atención de todos aquellos desarrolladores en lengua hispana que desean sumergirse en el desarrollo para móviles con una tecnología que ya conocen. Este curso se complementa perfectamente con el que ya os habíamos anunciado en su día como "Kit de Superviviencia", pero evidentemente en otra dimensión.
Os dejamos aqui la descripción del curso y el índice de contenidos, para que podáis ver con vuestros propios ojos el resultado de nuestro trabajo en el campo de la formación. Ha sido una gran experiencia, y seguro que no es la última.
Ya sabes, si quieres conocer de manera ágil y práctica qué se cuece detrás del móvil en tecnología flash, este curso se ha convertido automáticamente en un recurso sin precedente.
Adobe Flash Lite 3.0, desarrollo para dispositivos móviles
Comenzando con HTML5
Cada vez está más de moda el tema de HTML5, sobre todo desde la presentación de Google wave a mediados del mes de Mayo.
Para todos aquellos que no lo sepais, HTML5 es la nueva versión del lenguaje HTML (aunque todavía no está del todo finalizada).
Incorpora nuevos elementos con un valor más semántico para favorecer la estructuración de las páginas como facilitar la tarea de los buscadores para encontrar la información solicitada.
Algunas de las novedades más destacadas son:
- Nuevas etiquetas para favorecer el contenido semántico y la estructura de las páginas.
- Incorporación de nuevos tipos de datos en los input de los formularios (datetime, number, range, email, url, search, color).
- Incorporación de audio y video sin necesidad de plugins. Se incorpora una API para el tratamiento de este tipo de contenidos multimedia.
- Incorporación del elemento canvas para la generación de gráficos. Incorporación de una API para poder dibujar en 2D..
- Posibilidad de ubicar elementos pertenecientes a un formulario fuera de la etiqueta form mediante el nuevo atributo llamado "form"
- Atributo "required" para los elementos de un formulario.
Para todos aquellos que esteis interesados en ir conociendo HTML5, os dejo una serie de enlaces que tratan el tema.
Pues nada más por ahora. Ahora a ir practicando.
Por cierto remarcar que es HTML5 no HTML 5 :=)
[Q] estrena web
Pues eso, [Q] ya tiene nueva web!!!!
Tras mucho tiempo sabiendo que teníamos que dar un cambio a nuestra web, por fin lo hemos hecho realidad. Su trabajo ha costado. Aunque el diseño ya lo teníamos desde hace tiempo, el desarrollo de la misma ha llevado más de lo que pensábamos. Siempre surgen nuevos retos que hacen dejar de lado los proyectos propios.
Lo que hemos pretendido hacer con esta nueva versión es actualizar un poco la imagen de nuestro estudio en Internet y hacer que el visitante tenga una experiencia un poco más agradable. Ahora es mucho más fácil acceder a los trabajos o contactar con nosotros. Incluso hemos integrado las últimas noticias del blog para tenerlo todo organizadito. Y sí, la cabecera es enorme en comparación con lo habitual. Pero esperamos poder usarla como un escaparate en el que poder mostrar últimas novedades o alguna cosa que ya se nos ha ido ocurriendo
No somos muy pretenciosos, hemos querido proyectar una imagen humilde de lo que es nuestro estudio. Los que ya nos conocen o han trabajado con nosotros, bien saben cómo somos y las cualidades que ofrecemos.
Todavía faltan cosas por hacer y un largo camino que recorrer con la web de [Q] Tenemos una galería de trabajos en la que todavía faltan mucho proyectos que merece la pena mostrar y que hemos ido realizando a lo largo de todos estos años y, lo más importante, falta la versión Flash. Queremos hacer algo realmente bueno (y bonito) aprovechando todo el potencial que tenemos aquí metido en términos de flash y actionscript. Lo que pasa es que primero toca hacer lo de los clientes!
Bienvenidos y muchas gracias por estar aquí con nosotros.
Tabla de compatibilidades de navegadores
Aquí os dejo una página muy útil para los desarrolladores que he encontrado en Fyrdility
de Alexia Deveria en la que podemos saber a partir de que versiones de los navegadores se pueden usar propiedades de CSS3, HTML5, SVG y otra nuevas tecnologías que van apareciendo.
CSS3 :: Font-face
Hay en ocasiones que estamos desarrollando webs en XHTML y nos encontramos en el diseño con tipografías que no tendrá la mayoría de los usuarios por lo que no podrán tener una correcta visualización de la página. Por lo que hasta ahora nos quedaban dos soluciones:
- Uso de imágenes de fondo en el elemento que contiene la tipografía.
- Algún método alternativo como el SIFR
Ahora en CSS3 tenemos la etiqueta font-face que permite usar una tipografía ubicada en el servidor.
La sintaxis de uso es la siguiente:
@font-face {
font-family:NOMBRE_TIPOGRAFIA;
src: url(RUTA_TIPOGRAFIA);
}
A partir de ese momento ya se puede usar en el CSS.
La verdad que me parece un gran paso. Ahora a buscar soluciones para versiones de navegadores antiguas que no lo soporten :).
Os dejo un ejemplo para que veais como queda (se debe de probar en navegadores que ya lo soporten como puede ser a partir de la versión 3.1 de Firefox o safari 3.1)
Prueba de font-face
JQuery para principiantes
Aquí os dejo unos video tutoriales para todos aquellos que no sepais jquery y que esteis interesados en aprender. Son 15 video tutoriales de una duración aproximada de 10 minutos cada uno donde enseña ejemplos prácticos de uso de jquery.
La pega es que está en inglés. Aunque se entiende muy bien. Es muy fácil seguir el hilo si se tiene un nivel medio de inglés.
Aqui os dejo el enlace
http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-video-series/
Espero que os sirva