
En el siguiente artículo comentaré cómo pasar la representación de una fecha en timestamp de unix a formato de tipo ‘YYYY-MM-DD HH:MM:SS’ mucho más legible y con el que podremos realizar consultas mas específicas. En base de datos se suele guardar las fechas en formato timestamp pues contienen algo más de información que si por defecto formateamos y guardamos la fecha en formato ‘YYYY-MM-DD HH:MM:SS’ o ‘YYYY-MM-DD’. Para obtener el timestamp de una fecha en PHP usaremos la función time(), con la que obtendremos el timestamp de la fecha del momento en que se ejecuta. La función de MySQL que realiza la conversión de timestamp a fecha es: FROM_UNIXTIME(unix_timestamp) en la que sólo se la pasa el timestamp y el formato que devuelve es el de por defecto: ‘YYYY-MM-DD HH:MM:SS’. También se le puede especificar un formato para deveolver tan sólo lo que queramos FROM_UNIXTIME(unix_timestamp,format). Veamos algunos ejemplos: Queremos tan sólo el año Resultado: fecha 2012 Queremos el siguiente formato: mes. día.año Resultado: fecha 07.06.2012 07.11.2012 Si esto mismo lo queremos poner en formato español con el mes en medio, tan sólo cambiaremos el especificador del mes(%m) de posición Resultado: fecha 06.07.2012 11.07.2012 También podemos indicar un formato de fecha [...]

Usando MySQL Workbench. MySQL Workbench es una herramienta para desarrollar y administrar bases de datos. Tiene 3 grandes areas de funcionalidad: SQL Development: Reemplaza a MySQL query browser. Desde aquí termine al usuario conectar a una base de datos existente, permite realizar queries, y una administración básica de la base de datos. Data Modeling: Es un completo gestor visual para diseñar y definir la arquitectura de la base de datos. Database Administration:Reemplaza a MySQL Administrator, es un interface gráfico para administración de la base de datos y del servidor en general, se puede editar archivos de configuración de Mysql, se puede crear nuevos usuarios, y si estamos trabajando con una base de datos local, se puede reiniciar el servicio de mysql. Planificando la base de datos Como siempre lo mejor es hacer un boceto rápido en papel. Como veis en la siguiente imagen no podría entregar a un equipo de desarrolladores la arquitectura de la base de datos con el siguiente gráfico, aunque en el mundo real a veces las especificaciones que te dan se parecen a estas, un infierno. El esquema que se puede elaborar desde Mysql WorkBench es un esquema EER. EER es un modelo de alto nivel [...]
phpMyAdmin es una herramienta escrita en PHP con el fin de facilitar la tarea de administración de una base de datos MySQL desde el navegador. Se trata de una herramienta escrita íntegramente en lenguaje PHP, realizada con el fin de facilitar las tareas de administración. Permite administrar en forma completa un servidor MySQL (requiere de una cuenta super usuario) como así también bases de datos simples de un usuario en particular. 1. su – 2. cd /var/www/html 3. wget -c wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/2.11.10/languages.zip?use_mirror=switch Si queremos la ultima versión: wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.3.8/phpMyAdmin-3.3.8-all-languages.zip/download 4. unzip phpMyAdmin-2.11.10-all-languages.zip 5. mv phpMyAdmin-2.11.10-all-languages phpmyadmin 6. cd phpmyadmin 7. cp config.sample.inc.php config.inc.php 8. vi config.inc.php …. $cfg['Servers'][$i]['auth_type'] = ‘http‘; …. 9. /etc/init.d/httpd restart Tras esto lo tendrás accesible desde http://dominio.com/phpmyadmin/ Si no se tiene acceso a la maquina por consola o estais un poco perdidos con estos comandos de linux, se podría hacer subiendo todo el desarrollo por ftp, previa descompresión en vuestro equipo y luego editando el archivo config.inc.php. Pero claro este modo de hacerlo es mucho mas lento pues tarda mas en subirse todo al servidor (siempre y cuando lo queráis instalar en un servidor remoto, en local es todo mas rápido) Si os da el siguiente [...]
Ventajas de MyISAM Bloqueo de tablas Nos permite tener las características ACID (Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español), garantizando la integridad de nuestras tablas. Optimizadas para realizar un gran números de SQL SELECT. Desventajas de MyISAM Las tablas pueden llegar a dar problemas en la recuperación de datos. El bloqueo de las tablas cuando se inserta o actualiza un registro es otra posible desventaja ya que el resto de las operaciones quedarán a la espera de la inserción o actualización del registro. Ventajas de InnoDB Integridad de datos, cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes. Pueden añadirse datos no válidos a la base de datos, con las tablas InnoDB es más difícil que esto ocurra. Mayor velocidad en general a la hora de recuperar datos. Recomendable para aplicaciones en las que dominan las sentencias INSERT / UPDATE. Ausencia de características de atomicidad ya que no tiene que hacer comprobaciones de la integridad referencial, ni bloquear las tablas para realizar las operaciones, esto nos lleva como los anteriores puntos a una mayor velocidad Desventajas de InnoDB El diseño de [...]

Tengo que lanzar un web para varios países y aprovecharé la potencia de CakePHP para realizar una sola plataforma con varias bases de datos. Cada base de datos almacenará el contenido local de cada web. Lo que he hecho es en /(app)/config/bootstrap.php incluir mi código de configuración personalizado. Ver funcionalidad del boostrap Para determinar y estandarizar la url que me llega realizo la siguiente comprobación $datos_dominio = explode(".",$_SERVER['HTTP_HOST']); if (in_array("www",$datos_dominio)) { $dominio =”; } else { $dominio = ‘www.’; } for($i=0;$i < count($datos_dominio);$i++) { if($i == 0) { $dominio .= $datos_dominio[$i]; } else { $dominio .= ‘.’.$datos_dominio[$i]; } } ?> Con el dominio que he obtenido lo paso por un switch case y la variable final con el valor de la base de datos la guardo en una constante que usaré mas adelante. switch ($dominio) { case ‘www.cake.loc’: $bbdd = ‘default’; break; case ‘www.cake.loc.uk’: $bbdd = ‘default_uk’; break; case ‘www.cake.loc.mx’: $bbdd = ‘default_mx’; break; default: $bbdd = ‘default’; } define(‘BBDD’,$bbdd); Posteriormente en mi modelo seleccionaré la base de datos que se ha guardado automaticamente en la constante BBDD Ejemplo de mi /(app)/models/contenido.php class Contenido extends AppModel { var $name = ‘mos_content’; // nombre de la tabla que estoy usando var [...]
Últimos comentarios