Convertir de cantidad a importe con letra en pesos mediante PHP

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

13 Comments

xHTML Tipos de Doctype

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>

1 Comment

Copiar la estructura de una tabla MySQL en una tabla nueva

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.

1 Comment

Buscar en un campo separado por comas en MySQL

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:

  • 11
  • 10
  • 1
  • 16

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.

5 Comments

Error APT: E: Unable to lock the download directory

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
No Comments

Reparar tabla corrupta en MySQL

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.

No Comments

Problema con IE, ACLayers.dll en Windows XP

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.

5 Comments

Perl para reemplazar cadenas de texto en archivos

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

No Comments

Montar imagen iso en Mac OS X

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

12 Comments

Cambiar el directorio $HOME en Linux

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

4 Comments