Bootstrap es para mi uno de los mejores «Frameworks» a la hora de desarrollas webs compatibles con dispositivos móviles, pero puede resultar un poco básico en algunos momentos. Buscando por internet descubrí Bootswatch en el cual tenemos unos cuantos temas que nos pueden ayudar a la hora de realizar nuestra web. Estos temas están disponibles tanto para la versión 2.3.2 de Bootstrap como para la nueva versión 3
Archivo de la categoría: Programación
Sección dedicada a la programación y diseño web
Uso de expresiones regulares en MySQL – MySQL Tips
Una de las características poco conocidas en en el uso de sentencias en MySQL es el uso de expresiones regulares.
Imaginemos la siguiente situación:
Tenemos una tabla de paises y uno de los campos es nombre, y queremos crear una consulta que nos devuelva todos los paises que empiezan por A, C y R. Si lo realizamos sin expresiones regulares lo realizaríamos de la siguiente forma:
SELECT * FROM paises WHERE nombre LIKE 'A%' OR 'C%' OR 'R%'
Imaginaros esta consulta para mas iniciales, todo seria una secuencia de OR inicial. En cambio si usamos expresiones regulares quedaria de la siguiente manera
SELECT * FROM PAISES WHERE nombre RLIKE '^[A|C|R]'
Como podéis ver la consulta se reduce bastante, el RLIKE indica que se va a usar una expresión regular, el símbolo ^ indica que es el principio de cadena y entre [] ponemos las distintas variaciones separadas por |.
Si por ejemplo quisieramos todos los paises
Formato Fecha en MySQL – MySQL Tips
Una de las «pegas» que tiene MySQL es que por defecto gestiona las fechas en modo ’00-00-0000′ es decir año-mes-dia. Y siempre nos toca crear una función para transformar estas fechas tanto al pasarlas a la base de datos, como para recuperarlas. A la hora de la recuperación algo que nos puede ahorrar trabajo es, a la hora de realizar la consulta, devolver la fecha formateada, para ello utilizaremos DATE_FORMAT.
Nuestra consulta podría quedar de la siguiente manera
SELECT id, name, DATE_FORMAT(date, '%d-%m-%Y) as date
Como primer parámetro de DATE_FORMAT especificamos el campo que contiene la fecha, y luego como segundo parámetro especificamos el formato en el cual queremos que nos devuelva la fecha en este caso sera ’00-00-0000′
Mas información en http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
Caracteres de escape en MySQL – MySQL tips
Para los castellano parlantes quiza esta entrada no sea de mucha utilidad, pero si nos encontramos en el caso de tener que desarrollar una web por ejemplo en ingles quiza sirva de utilidad. El caso es el siguiente: i agi emos que tenemos que insertar textos en ingles dentro en nuestra base de datos, y nos encontramos que tenemos que insertar por ejemplo la palabra don’t . Como norma general para escribir una cadena de texto en una sentencia MySQL la encerramos entre comillas simples (‘), asi que si queremos utilizar una cadena de texto que contenga esa comilla, o cualquier otro caracter especial que queramos que sea interpretado como tal, tendremos que utilizar el caracter de escape \. Nuestra consulta quedara de la siguiente manera
Insert into table Set field ='don\'t'
Publicado desde WordPress
Error en el acceso a nuestro sitio Drupal – Drupal Tips
Dentro de los sitiós que mantengo, tengo uno que me da mas de un dolor de cabeza, este fue desarrollado en su dia con Drupal, y un buen dia paso a mis manos para su mantenimiento, y no voy a decir mas que cada dos por tres me sorprende con alguna. Una de las que me hace de vez en cuando es no dejar acceder a los usuarios registrados. El usuario intenta acceder con su usuario y contraseña y sin ningun tipo de mensaje vuelve a la misma pantalla.
Una de las cosas que tenemos que hacer en este caso es acceder al registro de errores (error.log) y visualizar a ver que esta pasando. Si el registro tiene unas linea como esta:
<code>Table './dbname/sessions' is marked as crashed and should be repaired</code>
La solución es simple, siempre y cuando tengamos acceso claro.
Accederemos via phpmyadmin a nuestra base de datos y en el listado de estructura marcaremos la tabla `sessions` y a continuación seleccionaremos la opcion repair table o reparar tabla.
Una vez realizado esto ya podremos acceder normalmente a nuestro sitio Drupal.
Mas información acerca de este error https://drupal.org/node/833762
Convertir colores VBA a RGB o Hexadecimal – PHP Tips
Recientemente en una aplicación que estoy desarrollando, me encontre con la necesidad de convertir los valores de los colores que usa visual basic a hexadecimal o rgb para poder usarlos en web. Googleando encontre el siguiente enlace en el cual se explicaba como hacerlo con visual basic, asi que basandome en la función que se explicaba desarrolle una función en PHP para poder hacerlo. Esta función la tengo publicada en Gist para el que la pueda necesitar
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * vbaColorToWeb.php Class to convert VBA color to web Color | |
| * | |
| * | |
| * PHP Version 5.3 | |
| * | |
| * @author Ruben Lacasa Mas <ruben@rubenlacasa.es> | |
| * @copyright 2013 Ruben Lacasa Mas http://rubenlacasa.es | |
| * @license http://creativecommons.org/licenses/by-nc-nd/3.0 | |
| * CC-BY-NC-ND-3.0 | |
| * @link https://gist.github.com/sbarrat/5908351 | |
| */ | |
| /** | |
| * @param $color Color vba | |
| * @param bool $hex if $hex is true return hex value if not return rgb value | |
| * @return string | |
| */ | |
| function vbaColorToWeb($color, $hex = false) | |
| { | |
| $red = $color % 256; | |
| $green = ($color / 256) % 256; | |
| $blue = ($color / 256 / 256) % 256; | |
| if ($hex) { | |
| return "#".dechex($red).dechex($green).dechex($blue); | |
| } else { | |
| return "rgb(".$red.", ".$green.", ".$blue.")"; | |
| } | |
| } | |
| // Example | |
| $color = 8429680; | |
| echo vbaColorToWeb($color); // Shows rbg(112, 160, 128) | |
| echo vbaColorToWeb($color, true); // Shows #70a080 |
Todo el mundo deberia saber programar
Video subtitulado de http://www.code.org/ en el cual se explica por que todo el mundo debería saber programar
Obtener Nombre del día de la Semana
Si quieres obtener el nombre del día de la semana en php fácil y sencillo:
date_default_timezone_set(‘America/Mexico_City’); //Asignas la zona horaria de tu país.
setlocale(LC_TIME, ‘spanish’); //Fijamos el tiempo local
$diaSemana=strftime(«%A»); // Guardamos el Nombre del día de la semana.
echo «Hoy es:».$diaSemana; //Imprimimos El día.
Restringir el acceso con contraseña a sitios web – Apache Tips
Si queremos que a un directorio de nuestra web o a un sitio, poner una contraseña para poder acceder, de una manera rapida y sin tener que programar nada, si el servidor web que estamos usando es Apache podemos hacerlo de una manera sencilla con el fichero .htaccess
Antes de crear el fichero tenemos que crear los usuarios que podrán acceder, para hacerlo utilizaremos el comando htpasswd
htpasswd -c /ruta/completa/ficheroUsuarios usuario
A continuación de lanzar el comando nos pedira dos veces que pongamos la contraseña del usuario.
Con la opción -c creamos el fichero, si este fichero ya existe y solo queremos agregar un nuevo usuario usaremos el comando pero sin la opción -c
Una vez tenemos creado el fichero de contraseñas y ya tenemos un usuario creamos, si no tenemos el fichero, o editamos el fichero .htaccess y ponemos lo siguiente.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| AuthType Basic | |
| AuthName "Mi Sitio Seguro" | |
| AuthBasicProvider file | |
| AuthUserFile /ruta/completa/ficheroUsuarios | |
| Require valid-user |
En este caso estoy estableciendo una autentificación basica basada en fichero y se require un usuario valido para poder acceder al sitio.
Mas información http://httpd.apache.org/docs/2.2/howto/auth.html
Contar elementos que cumplan una condición o varias – Spreadsheets Tips
Contar los que cumplan un solo criterio
Supongamos la siguiente situación. Tenemos una tabla con datos y en una de las columnas tenemos 2 posibles valores, si o no, y queremos contar cuantas veces esta el valor si y cuantas esta el valor no. Ademas queremos que este total se actualize según se introduzcan datos en esa columna.
Para realizar este calculo en Excel o Numbers o LibreOffice Calc utilizaremos la función CONTAR.SI
= CONTAR.SI(rango;valor)
Si por ejemplo queremos saber cuantas veces se ha escrito el valor ‘Si’ en la columna A escribiremos:
= CONTAR.SI(A:A; "Si")
En LibreOffice Calc la función es la misma, con una salvedad, la cual puede resultar un poco incomoda, no podemos seleccionar la columna entera y tenemos que definir el rango. Por lo demás la formula es igual.
En Numbers la función es tambien igual pero en el rango si seleccionamos la columna A solo hace falta poner A.
Importante: Hay que tener en cuenta las dobles comillas para encerrar textos literales y el ‘;’ para separar los parámetros.
En el caso que estemos utilizando Google Spreadsheets, hay que tener en cuenta que las formulas no han sido traducidas al castellano, por lo tanto tenemos que usarlo como si estuviéramos usando el Excel en Ingles y usaríamos la función COUNTIF
= COUNTIF(rango, valor)
Para saber cuantas veces se ha escrito el valor ‘Si’ en la columna A
= COUNTIF(A:A, "Si")
Una de las diferencias entre las versiones de los programas de hojas de calculo en Español o en ingles es que en las versiones inglesas usan la coma (,) como separador de parámetros en la función.
Contar los que cumplan mas de un criterio
La función anterior solo nos permite buscar en una columna un criterio, pero ¿y si necesitamos contar los que cumplan dos criterios? En ese caso si estamos utilizando Excel, Numbers o Libreoffice Calc utilizaremos la función: CONTAR.SI.CONJUNTO()
= CONTAR.SI.CONJUNTO(rango1;criterio1;rango2;criterio2;...)
Si tenemos la columna A con valores Si o No y la columna B con valores Si o No y queremos saber cuantas veces si el valor de la A es Si el valor de la B es Si
= CONTAR.SI.CONJUNTO(A:A;"Si";B:B;"Si")
En el caso de Google Spreadsheets no existe una función equivalente y para obtener el resultado tenemos que utilizar la función ARRAYFORMULA con el COUNTIF anidado.
= ARRAYFORMULA( COUNTIF(rango1&rango2&..., criterio1&criterio2&...) )
De tal manera que para obtener nuestro resultado tendríamos que hacer lo siguiente
= ARRAYFORMULA( countif(A:A&B:B, "Si"&"Si") )
