29/06/2010
Necesitaba una función que pudiera traducir una cantidad dada con centavos a el total con letra, es decir escrito, para un sistema de facturación con PHP, encontré una función excelente en BLASTEN.com y me tome la libertad de moverle un poquito para hacer que la salida fuera exactamente como la necesitaba, es decir, incluyendo “X PESOS xx/100 M.N.”
Todo el crédito es para la gente de Blasten, pero le puse un poquito mas de sabor para quienes me leen y lo puedan utilizar con mayor facilidad.
Importante: La función por el momento solo acepta 2 decimales y el formato del numero tiene que ser xxx.xx, así que pueden utilizar number_format() para limpiar la variable antes de pasarla por la función.
Para utilizarlo, solo descarguen el código, péguenlo en su script o hagan un include con la ruta al fichero que pueden descargar aquí, de cualquier forma, lo único necesario es utilizar:
echo num2letras($var);
No queda mas que desearles happy coding!
num2letras en php
23/06/2010
Un tip rápido o una lista que puede ser útil, una pequeña lista con los Doctypes autorizados por la W3C:
HTML 4 Estricto
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
“http://www.w3.org/TR/html4/strict.dtd”>
xHTML 1 Estricto
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
xHTML Transicional
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
xHTML 1.1
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
HTML 5
<!DOCTYPE html>
11/03/2010
Si deseas copiar la esctructura de una tabla dentro de una base de datos MySQL, peor no los datos, solo necesitas ejecutar una linea en un query. La Sintaxis es:
CREATE TABLE tabla_copia LIKE tabla_original;
Eso es todo, obtendremos los mismo campos que en la “tabla original” en la “tabla_copia” en un sencillo paso.
2/03/2010
Debido a un desarrollo en el que actualmente trabajo, me tope con esto que resulto ser muy sencillo de hacer, pero no esta tan documentado como se espera. Que pasa si tienes un campo con cadenas de texto o enteros separados por coma, como categorías, nombres etc.
Un ejemplo practico seria, el campo “cats” tiene un contenido como ’2,11,10,1,16′, si usamos el tradicional LIKE:
SELECT * FROM tabla WHERE cats LIKE '1';
Se podría pensar que esta solución es adecuada pero no es así, ya que nos devolvera:
cats:
Para lograr obtener solo el ’1′ y no todos los números que contengan el ’1′ se debe utilizar esta sintaxis:
SELECT * FROM tabla WHERE FIND_IN_SET('1', cats)
En el ejemplo práctico ‘tabla’ es el nombre de la tabla en la que queremos buscar y ‘cats’ el nombre del campo.
11/02/2010
Aquí otro tip rápido para nuestras cajas con Linux, si al hacer un:
$ apt-get upgrade
Nos devuelve un error algo así:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
bind9 bind9-host dnsutils libbind9-30 libdns35 libisc35 libisccc30
libisccfg30 liblwres30 linux-generic linux-headers-generic
linux-image-generic linux-restricted-modules-generic netatalk
The following packages will be upgraded:
libmysqlclient15-dev libmysqlclient15off mysql-client mysql-client-5.0
mysql-common mysql-server mysql-server-5.0 php5-imap
8 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
3 not fully installed or removed.
E: Could not get lock /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the download directory
Lo único que debémos hacer como root es:
$ pkill apt
4/02/2010
Lo único que hay que hacer, es un query mediante PHP, en la consola interactiva o vía PhpMyAdmin conteniendo lo siguiente:
REPAIR TABLE mytablacorrupta;
Con esto, MySQL reparara los problemas que tengamos.
18/01/2010
Varios equipos de la agencia comenzaron a presentar este problema, al abrir el Internet Explorer y en algunos casos, el Windows Media Player, se botaba un error donde se lee algo como esto:
AppName: iexplore.exe AppVer: 8.0.6001.18702 ModName: aclayers.dll
ModVer: 5.1.2600.5906 Offset: 0003d7fb
El arreglo es simple, pero me tomo un buen rato encontrarlo, ya que es un problema con una actualización del sistema publicada en Enero, así que era tan reciente que no existe mucha documentación al respecto, lo único que deben hacer es desinstalar la actualización:
KB955759
Espero les sea útil.
23/12/2009
Aquí un tip rápido para buscar cadenas de texto dentro de un patrón de ficheros o también para uno solo. Por ejemplo, si tenemos 100 ficheros que en algún lugar en su interior contienen una cadena que queremos reemplazar, nos hará el trabajo pesado en un par de segundos.
Esta es la sintaxis:
perl -pi -e ‘s/cadena vieja/cadena nueva/g’ patron
Un ejemplo practico seria:
perl -pi -e ‘s/index.html/index.php/g’ *.html
14/12/2009
Aquí les dejo un tipo rápido para montar una imagen iso en el escritorio de nuestro Snow Leopard, solo abran una terminal y escriban:
hdiutil mount imagen.iso
Donde, “imagen.iso” es nuestra imagen a montar, debemos de poner la ruta completa al archivo para que funcione y nos aparecerá la imagen montada directamente en el escritorio
10/12/2009
A veces es necesario cambiar la ruta del home de algun usuario de nuestro sistema, este tip rapido les ayudara por si es necesario hacerlo, en una sola linea quedara listo!
$ usermod -d /ruta/al/nuevo/directorio/ -m miusuario